2016-03-01 50 views
1

我得到了一個非常有趣的bug,當我應用具有不同變量的過濾器時,過濾工作正常,但是如果我使用一個過濾器變量例如id ne 1 or id ne 2等,則不應用過濾器,因爲odata sapui5自動將它們分組,如(id ne 1 or id ne 2)所以它不起作用,但如果我使用這樣的過濾器:id ne 1 and year ne 2016 and scenario eq 2沒有分組,那麼這種類型的過濾器工作正常,從開發人員的工具(從應用的URL)網絡),則應用過濾器。似乎這個SAP ODATA不理解過濾器分組,因爲版本可能是舊的,或者像這樣運行...還嘗試定義過濾器的參數,如:and: true,以便所有過濾器都不是通過OR而是通過AND運算符應用,沒有幫助......那麼解決這類錯誤或問題的解決方案是什麼?sapui5中的過濾器分組

謝謝大家的幫助!

回答

1

這是手動連接過濾器的方式。所以你可以手動控制分組。

var filter1 = new sap.ui.model.Filter("id","NE", 1); 
var filter2 = new sap.ui.model.Filter("id","NE", 2); 
var andFilter = new sap.ui.model.Filter([filter1 ,filter2 ], true); 
var orFilter = new sap.ui.model.Filter([filter1 ,filter2 ], false); 

Filter documentation

+0

是的,這是一個正確的答案,是我不好,我不好閱讀文檔)),並使用'和''作爲真實| FALSE'錯誤。 –