2014-10-19 169 views
0

我想創建一個複雜的過濾,使得複雜的過濾

(ColumnA == X或者ColumnA == y)和(ColumnB == Z或ColumnC == W)

我所做的是:

ultraGridResults.DisplayLayout.Bands[0].ColumnFilters.LogicalOperator = FilterLogicalOperator.And; 
ultraGridResults.DisplayLayout.Bands[0].ColumnFilters["ColumnA"].FilterConditions.Add(FilterComparisionOperator.Equals, X); 
ultraGridResults.DisplayLayout.Bands[0].ColumnFilters["ColumnA"].FilterConditions.Add(FilterComparisionOperator.Equals, Y); 
ultraGridResults.DisplayLayout.Bands[0].ColumnFilters["ColumnA"].LogicalOperator = FilterLogicalOperator.Or; 
ultraGridResults.DisplayLayout.Bands[0].ColumnFilters["ColumnB"].FilterConditions.Add(FilterComparisionOperator.Equals, Z); 
ultraGridResults.DisplayLayout.Bands[0].ColumnFilters[ColumnC].FilterConditions.Add(FilterComparisionOperator.Equals, W); 

問題是,既然ColumnB是不同的,那麼ColumnC我不知道如何在這兩個條件之間插入「Or」。 而結果我得到的是:

(ColumnA == X或者ColumnA == y)和(ColumnB == Z)和(ColumnB == W) 而不是我想要的東西是:

(ColumnA == X或ColumnA == Y)和(ColumnB == Z或ColumnC == W)

如何編寫過濾器,以便在右側也有Or運算符? 謝謝

+0

這只是一個錯字,或者你真的有兩個不同的網格嗎? – Steve 2014-10-19 18:04:57

+0

一個網格謝謝:) – user2878881 2014-10-20 07:21:01

+0

不知道這是可能的。我無法達到您的預期結果。我認爲你應該問他們的支持網站(或者參考這個問題)。喜歡認識我自己。 – Steve 2014-10-20 07:26:29

回答

0

我認爲這是你想要的。考慮到所有的列是相同的數據類型,如果不是你可以隨時轉換或分析值:

if (ColumnA == X || ColumnA == Y && ColumnB==Z || ColumnC == W) 
{ 
//Code here 
} 

如有此幫助你在所有給我的反饋。

+0

謝謝,但這不起作用,因爲我需要infragistics篩選 – user2878881 2014-10-20 07:21:57