我有一个Rad Grid
,它将从数据库填充。
我有一个check box
,它将在其检查模式下过滤某些行。
我有一个list of strings
,其中包含一些特定的ID。
这是网格:
ID Name
------------
1 John
2 Steve
3 Joe
4 Sara
这是字符串列表:
"2","4"
我需要在选中复选框时过滤那些ID在此列表中存在的行。
private void checkMajor_CheckStateChanged(object sender, EventArgs e)
{
if (checkMajor.Checked)
// Here will be the custom filter
else
this.gridShopList.Columns["IDCol"].FilterDescriptor = new FilterDescriptor();
}
怎么做这样的事情?以及如何在行上进行复杂的自定义过滤?
答案 0 :(得分:1)
在这里,您可以看到如何通过多个条件过滤网格:CompositeFitlerDescriptor
以下是一个示例:
List<string> list = new List<string>() {"2", "4"};
CompositeFilterDescriptor compositeFilter = new CompositeFilterDescriptor();
compositeFilter.LogicalOperator = FilterLogicalOperator.Or;
foreach (var item in list)
{
compositeFilter.FilterDescriptors.Add(new FilterDescriptor("ID", FilterOperator.IsEqualTo, item));
}
this.radGridView1.Columns["IDCol"].FilterDescriptor = compositeFilter;