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); |
} |
} |