oDataModel中的排序器不起作用

2020-09-22 19:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们! 我的oData面临问...

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

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


专家们!

我的oData面临问题,我真的不知道我在做什么错。

代码创建一个oDataModel:

 controller.oModel =新的sap.ui.model.odata.v2.ODataModel(
 "/odatadestination/XXX/iot.xsodata",{
 格式:" json"
 });  
 controller.oModel.read("/img/MEASUREMENT",{
     过滤器:[
      新的sap.ui.model.Filter({
            路径:" NAME",
            运算子:sap.ui.model.FilterOperator.EQ,
           值1:" x"
      }),
     新的sap.ui.model.Filter({
           路径:" CATEGORY",
           运算子:sap.ui.model.FilterOperator.EQ,
           值1:" y"
     })],
     分类器:new sap.ui.model.Sorter(" DATE"),
     urlParameters:{
 $ top:1
  },
     成功:sucessHandler
 }); 

我删除行

排序器:new sap.ui.model.Sorter(" DATE"),
 

一切正常,但我需要最新的条目!

在" sorters"行中,出现错误:

" HTTP请求失败。400,错误请求。系统查询$ orderby不允许使用空值。"

我已经向自己保证,DATE的拼写正确,我也尝试在其他列中使用它-但没有任何效果。

此外,我尝试将其添加到类似的路径中

 controller.oModel.read("/img/MEASUREMENT $ orderby = DATE",{

但是这会引发错误或无法正常工作。

如果有人可以帮助我解决这个问题或给我提示可能是错误的或如何工作的,我将真的非常感谢。

非常感谢您

最诚挚的问候,

梅丽娜

2条回答
半个程序猿
2020-09-22 20:24 .采纳回答

你好,梅丽娜,

根据API文档[1]的

read()函数需要一个用于" sorters"参数的数组,因此语法应为:

 ...
 分类器:[
   新的sap.ui.model.Sorter(" DATE",true)
 ],
 ... 

如果您想先输入最新信息,请不要忘记"降序"参数[2](默认为false)。

 [1] https://sapui5.hana.ondemand.com/#/api/sap.ui.model.odata.v2.ODataModel/methods/read
 [2] https://sapui5.hana.ondemand.com/#/api/sap.ui.model.Sorter/overview 

希望这会有所帮助,安东

P.S。 顺便说一句,您的第二个选项无效。 必须为(?符号缺失,desc参数缺失):

?$ orderby = DATE desc 

一周热门 更多>