x と Y の 2 つの列があります。2 つの列の値に基づいてグリッドをフィルター処理する必要があります。例: フィルター条件が true であると仮定すると、両方の列の値をチェックし、列の値のいずれかが true の場合、行をフィルター処理する必要はありません。どの値も true でない場合は、行をフィルター処理する必要があります。
質問する
5365 次
1 に答える
9
これに対する1つの簡単な解決策を考えることができます。以下のコードは、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;
}
これはあなたが探していたものですか?
于 2012-12-12T22:16:24.523 に答える