sap.ui.model.Filter自定义过滤器功能

2020-09-14 17:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好: 我正在尝试根据扩展元素...

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

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


你好:

我正在尝试根据扩展元素的值为客户列表创建sap.ui.model.Filter。 具体来说,客户有多个位置,而美国州是该位置的要素之一。 OData看起来像这样:

 [{" name":"客户A"," locations":[{" city":" Los Angeles"," state":" CA"},{" city":" Dallas"," state"  :" TX"}]},{"名称":"客户B","位置":[{"城市":"波士顿","州":" MA"},{"城市":"旧金山"  ," state":" CA"}]}] 

将为过滤器指定一个状态,如果客户在该状态下有一个位置,则返回true

我认为过滤器(显然具有硬编码值)看起来像这样:

 oFilters.push(新sap.ui.model.Filter({
    路径:"位置",
    测试:function(oValue){
       var oLocations = oValue.getModel();
       for(var oLocation in oLocations){
          如果(oLocation.getProperty(" state")===" CA"){
             返回true;
          }
       }
       返回false;
     }
 })); 

运行过滤器时,我应该返回[true,true],然后结果中将同时包含"客户A"和"客户B"。 我什么也没回来(所以一切都过去了),我无法追踪它的动作。

有人对此有经验吗? 如果您想知道,这是在尝试模拟OData v4'ANY'过滤器。

2条回答
槿木_熙
2020-09-14 18:38 .采纳回答

您可以在其中编写调试器语句并检查数据。 我不确定如何在函数参数oValue中获取数据,我认为您不会在那里获得模型,而是拥有值。 或该特定行。 更好地检查调试,放置一条调试器语句。

一周热门 更多>