2012-12-11 19 views
2

我有2列x和Y.我需要根據2列的值過濾網格。 例如:假設我的過濾條件爲真,那麼它應檢查兩個列的值,並且如果任何列值爲true,則不應過濾該行。如果沒有任何值是真的,則應該過濾該行。基於2列值的Infragistics Grid ColumnFilter過濾

回答

9

我能想到一個快速解決方案。以下代碼將在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; 
    } 

這是你要找的東西嗎?