获取XtraGrid过滤器项

时间:2014-12-18 07:02:14

标签: c# devexpress

我正在使用devexpress XtraGrid。如果我使用与特定列相关的值过滤此网格,我想在c#中获取该列和值。任何人都可以帮忙???

此致

1 个答案:

答案 0 :(得分:0)

看起来您需要GridView.ActiveFilter.Criteria属性。

它返回CriteriaOperator,它实际上是表达式树(因为DevExpress gridview过滤可能很复杂 - 而不是单列)。

在您的简单情况下(按一列中的一个值过滤),您可以通过.ToString()将其转换为字符串,然后解析您将获得的字符串。

它将类似于[columnName] = columnValue字符串,并且解析它不是问题。

在复杂的情况下(当它是一个真正的表达式树时),您可以使用IClientCriteriaVisitor方法创建自己的类,并使用CriteriaOperator.Accept接口和遍历表达式树。

参见此类遍历实现的示例here