如何使用NOT构建SAP UI5筛选器?

2020-09-13 15:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)如何取消sap.ui.model...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


如何取消sap.ui.model.Filter?

我知道例如sap.ui.model.FilterOperator" EQ"与" NE"相反,而" LT"与" GE"相反,依此类推,但是如果我有 合并多个过滤器的sap.ui.model.Filter,我想否定整个组合? 或输入代码:

 var path1 ='field1',value1 ='X';

//创建一个等效于OData的过滤器:$ filter = field1 eq'X'

 var filter1 = new Filter({
   路径:路径,
   value1:值,
   运算符:FilterOperator.EQ
 });

//否定filter1,OData等效项:$ filter = field1 ne'X':

 var negatedFilter1 = new Filter({
   路径:路径,
   value1:值,
   运算子:FilterOperator.NE
 });

 var path2 ='field2',value2 ='Y';

//创建一个等效于OData的过滤器:$ filter = field2 lt'Y'
 var filter2 = new Filter({
   路径:path2,
   值1:值2,
   运算符:FilterOperator.LT
 });

//否定filter2,等效于OData:$ filter = field2 ge'Y':
 var negatedFilter2 = new Filter({
   路径:path2,
   值1:值2,
   运算子:FilterOperator.GE
 });

//用AND组合过滤器1和2
//OData等效项:$ filter = field1 eq'X'和field2 lt'Y'

 var CombinedFilter1AndFilter2 = new Filter({
   过滤器:[filter1,filter2],
   和:正确
 });

//求和CombinedFilter1AndFilter2 
//否等于等效的日期:$ filter = not(field1 eq'X'and field2 lt'Y') ...?

我的意思是,可以,我可以单独组合取反的滤镜,但是在实际情况下,这将变得非常复杂且容易出错,因为我们必须遍历整个滤镜并对每个滤镜取一个负数。 他们。 我只是想在整个组合过滤器上设置一个" not"标志,或者,如果不可能,请将组合过滤器包装在新的Filter中,然后在其中设置一个not标志。

看过和读过,我认为不存在这样的not标志,对吗? 推荐的解决方法是什么? SAP UI5会建立这样的功能吗?

3条回答
hengyuye
2020-09-13 16:03

您可以转换任何逻辑

不(a和b)

转换为
NOT a OR NOT b
,因此您的求反过滤器看起来像

 var negateCombinedFilter1AndFilter2 =新的过滤器({
   过滤器:[negatedFilter1,negatedFilter2],
   和:false
 }); 

一周热门 更多>

相关问答