API/CodeSamples/PredefineConstraintsInReportSet.md
... ...
@@ -0,0 +1,53 @@
1
+#PredefineConstraintsInReportSet
2
+
3
+[[_TOC_]]
4
+
5
+##About
6
+
7
+When false, Izenda tries to apply all constraints which it finds in the current schema when generating joined tables SQL. As a result, SQL for the same report can differ depending on external constraints.
8
+
9
+When true, at the moment a report is run Izenda generates SQL for joined tables strictly according to constraints listed in the report XML. Note that when saving a report to XML, Izenda writes to the XML all constraints which it finds at that moment in the schema for joined tables.
10
+
11
+**Default Value:** False
12
+
13
+##Global.asax (C♯)
14
+
15
+```csharp
16
+//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
17
+public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig
18
+{
19
+ // Configure settings
20
+ // Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method
21
+ public static void InitializeReporting() {
22
+ //Check to see if we've already initialized.
23
+ if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
24
+ return;
25
+ AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
26
+ AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE";
27
+ Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig();
28
+ AdHocSettings.PredefineConstraintsInReportSet = True; //The relevant setting
29
+ HttpContext.Current.Session["ReportingInitialized"] = true;
30
+ }
31
+}
32
+```
33
+
34
+##Global.asax (VB.NET)
35
+
36
+```visualbasic
37
+'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig
38
+Public Class CustomAdHocConfig
39
+ Inherits Izenda.AdHoc.DatabaseAdHocConfig
40
+
41
+ Shared Sub InitializeReporting()
42
+ 'Check to see if we've already initialized
43
+ If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then
44
+ Return
45
+ 'Initialize System
46
+ AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"
47
+ AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"
48
+ Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig()
49
+ AdHocSettings.PredefineConstraintsInReportSet = True 'The relevant setting
50
+ HttpContext.Current.Session("ReportingInitialized") = True
51
+ End Sub
52
+End Class
53
+```
... ...
\ No newline at end of file