I've been working on building the filter expression programmatically with success. What I can't seem to figure out is how to build multiple groups and apply them to the RadFilter.
I have a datatable with rows. For each row, I'd like to create a group. Here's what I have so far but it is now working.
I have a datatable with rows. For each row, I'd like to create a group. Here's what I have so far but it is now working.
| foreach (DataRow dr in dtFreqUsed.Rows) |
| { |
| RadFilterGroupExpression grExpression = new RadFilterGroupExpression(); |
| grExpression.GroupOperation = RadFilterGroupOperation.And; |
| CreateFilterExpression(grExpression, dr); |
| RadFilter1.RootGroup.Expressions.Add(grExpression); |
| } |
| protected void CreateFilterExpression(RadFilterGroupExpression grExpression, DataRow dr) |
| { |
| if (!(dr["SEGMENT1"] is DBNull) || dr["SEGMENT1"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT1"); |
| expr.Value = dr["SEGMENT1"].ToString(); |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT2"] is DBNull) || dr["SEGMENT2"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT2"); |
| expr.Value = dr["SEGMENT2"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT3"] is DBNull) || dr["SEGMENT3"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT3"); |
| expr.Value = dr["SEGMENT3"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT4"] is DBNull) || dr["SEGMENT4"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT4"); |
| expr.Value = dr["SEGMENT4"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT5"] is DBNull) || dr["SEGMENT5"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT5"); |
| expr.Value = dr["SEGMENT5"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT6"] is DBNull) || dr["SEGMENT6"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT6"); |
| expr.Value = dr["SEGMENT6"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT7"] is DBNull) || dr["SEGMENT7"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT7"); |
| expr.Value = dr["SEGMENT7"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT8"] is DBNull) || dr["SEGMENT8"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT8"); |
| expr.Value = dr["SEGMENT8"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| if (!(dr["SEGMENT9"] is DBNull) || dr["SEGMENT9"].ToString() != string.Empty) |
| { |
| RadFilterEqualToFilterExpression<string> expr = new RadFilterEqualToFilterExpression<string>("SEGMENT9"); |
| expr.Value = dr["SEGMENT9"].ToString(); |
| RadFilter1.RootGroup.GroupOperation = RadFilterGroupOperation.And; |
| grExpression.AddExpression(expr); |
| } |
| } |