CheckBox上的自定义筛选检查已更改 - Telerik RadGrid Winforms

时间:2016-06-06 19:37:45

标签: c# winforms telerik

我有一个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();
}

怎么做这样的事情?以及如何在行上进行复杂的自定义过滤?

1 个答案:

答案 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;