FAQ/applying-hidden-filter-using-inner-query.md
... ...
@@ -18,12 +18,16 @@ public override void PreExecuteReportSet(ReportSet reportSet)
18 18
{
19 19
base.PreExecuteReportSet(reportSet);
20 20
Filter filter = new Filter();
21
- filter.Column = "ShipCity";
22
- filter.SqlOverride = "ShipCity IN (SELECT ShipCity FROM [dbo].[Orders] WHERE ShipCountry = 'USA')";
21
+ //These three parameters are what are normally shown in the Filters tab of the report designer
22
+ filter.Column = "ShipCity"; //Filter Field
23
+ filter.Operator = OperatorTypes.In; //Operator
24
+ filter.Values = new string[] {"Boise"}; //Value(s)
23 25
reportSet.Filters.AddHidden(filter);
24 26
}
25 27
```
26 28
29
+**Note:** The **Values** property should always be used, even for one item.
30
+
27 31
After booting up our application and running our report, here is what we get:
28 32
29 33
![](/FAQ/applying-hidden-filter-using-inner-query/hidden_filters_2.png)
... ...
@@ -36,7 +40,7 @@ After booting up our application and running our report, here is what we get:
36 40
public override void PreExecuteReportSet(ReportSet reportSet)
37 41
{
38 42
base.PreExecuteReportSet(reportSet);
39
- if(reportSet.Source.Equals("[dbo].[Customers]"))
43
+ if(reportSet.Source.Equals("[dbo].[Orders]"))
40 44
{
41 45
Filter filter = new Izenda.AdHoc.Filter();
42 46
filter.Column = "email";
... ...
@@ -56,7 +60,7 @@ Public Overrides Sub PreExecuteReportSet(ByVal reportSet As Izenda.AdHoc.ReportS
56 60
emails(1) = "gedelin@yahoo.com1"
57 61
Dim filter As New Izenda.AdHoc.Filter()
58 62
filter.Column = "email"
59
- filter.Operator = OperatorTypes.In
63
+ filter.Operator = OperatorTypes.In
60 64
filter.Values = emails
61 65
reportSet.Filters.AddHidden(filter)
62 66
End Sub