FAQ/applying-hidden-filter-using-inner-query.md
... ...
@@ -0,0 +1,59 @@
1
+#How can I apply a hidden filter using an inner query
2
+
3
+[[_TOC_]]
4
+
5
+**Note:** Use the below method only when you have a large number of values. Normaly you don't have to add filters via inner query. Please use AdHocSettings.HiddenFilters instead.
6
+
7
+##Hidden Filter C♯
8
+
9
+For this example, we will use the Northwind database as our datasource.
10
+Here is our sample report in the report designer:
11
+
12
+![]()
13
+
14
+Below is a code sample showing how to add a hidden filter to a report. We will be using this query with our sample datasource.
15
+
16
+```csharp
17
+public override void PreExecuteReportSet(ReportSet reportSet)
18
+{
19
+ base.PreExecuteReportSet(reportSet);
20
+ Filter filter = new Filter();
21
+ filter.Column = "ShipCity";
22
+ filter.SqlOverride = "ShipCity IN (SELECT ShipCity FROM [dbo].[Orders] WHERE ShipCountry = 'USA')";
23
+ reportSet.Filters.AddHidden(filter);
24
+}
25
+```
26
+
27
+After booting up our application and running our report, here is what we get:
28
+
29
+![]()
30
+
31
+##Hidden Filter with SQL Override
32
+
33
+```csharp
34
+public override void PreExecuteReportSet(ReportSet reportSet)
35
+{
36
+ base.PreExecuteReportSet(reportSet);
37
+ if(reportSet.Source.Equals("[dbo].[Customers]"))
38
+ {
39
+ Filter filter = new Izenda.AdHoc.Filter();
40
+ filter.Column = "email";
41
+ filter.SqlOverride = "(aspnet_Membership.email = 'greg@edelinsolutions.com' or aspnet_Membership.email='gedelin@yahoo.com')";
42
+ reportSet.Filters.AddHidden(filter);
43
+ }
44
+}
45
+```
46
+
47
+```visualbasic
48
+Public Overrides Sub PreExecuteReportSet(ByVal reportSet As Izenda.AdHoc.ReportSet)
49
+ MyBase.PreExecuteReportSet(reportSet)
50
+ Dim emails(1) As String
51
+ emails(0) = "greg@edelinsolutions.com"
52
+ emails(1) = "gedelin@yahoo.com1"
53
+ Dim filter As New Izenda.AdHoc.Filter()
54
+ filter.Column = "email"
55
+ filter.Operator = OperatorTypes.In
56
+ filter.Values = emails
57
+ reportSet.Filters.AddHidden(filter)
58
+End Sub
59
+```
... ...
\ No newline at end of file