我有 2 列 x 和 Y。我需要根据 2 列的值过滤网格。 例如:假设我的过滤条件为 true,那么它应该检查两列的值,如果任何列值为 true,则不应过滤该行。如果没有一个值为 true,则应过滤该行。
最佳答案
我可以想到一个快速解决方案。下面的代码将在 2 列上设置普通过滤器,然后您只需更改 LogicalOperator 列即可。
private void Filter() {
Infragistics.Win.UltraWinGrid.FilterCondition fc = new Infragistics.Win.UltraWinGrid.FilterCondition();
fc.CompareValue = "someValue1";
fc.ComparisionOperator = Infragistics.Win.UltraWinGrid.FilterComparisionOperator.Equals;
ultraGrid1.DisplayLayout.Bands[0].ColumnFilters["col_x"].FilterConditions.Add(fc);
Infragistics.Win.UltraWinGrid.FilterCondition fc2 = new Infragistics.Win.UltraWinGrid.FilterCondition();
fc2.CompareValue = "someValue2";
fc2.ComparisionOperator = Infragistics.Win.UltraWinGrid.FilterComparisionOperator.Equals;
ultraGrid1.DisplayLayout.Bands[0].ColumnFilters["col_y"].FilterConditions.Add(fc2);
// set the logical operator of the columns on the band
ultraGrid1.DisplayLayout.Bands[0].ColumnFilters.LogicalOperator = Infragistics.Win.UltraWinGrid.FilterLogicalOperator.Or;
}
这是您要找的吗?
关于winforms - Infragistics Grid ColumnFilter 基于 2 列值进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829763/