如何从oData响应中获取count属性

2020-08-14 01:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我在Fiori应用中有一...

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

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


你好

我在Fiori应用中有一个全屏视图,我们在其中通过控制器内部的table.bindItems()调用oData服务。

项目的绑定工作正常,但是当我们需要在UI上显示项目的总数(例如515)时,就会遇到这种情况。 我们不会从VDM中获得此信息,因此我们计划使用getList()方法的length属性来确定项目总数。 但是由于表的功能不断增长,一次只能读取100个项目,而length属性仅返回100个项目。我已经为模型附加了侦听器attachRequestCompleted(),以便一旦bindItems()请求完成,我就可以获取长度 属性。 但是我的问题是我想要总数。

我在调试中看到,当调用此table.bindItems()时,它将进行oData服务调用,并且在响应中,我可以看到有一个count属性可用,该属性具有项的总数(例如,我为515) ),但如何从控制器内部的响应(可能在我的attachRequestCompleted内部)读取此count属性呢? 我真的很感谢这方面的帮助。 谢谢。

亲切的问候,

浓淡

标签编辑者:迈克尔·阿普比(Michael Appleby)

5条回答
CPLASF-自律
2020-08-14 01:59

嗨,

将Odata模型的默认计数模式设置为"内联"。

var sUrl ="网关/网址";

var model = new sap.ui.model.odata.v2.ODataModel(sUrl,true);

model.setDefaultCountMode(" Inline");

如果计数模式为内联,则odata将以以下格式给出结果。

d:{

结果:[{},{}],

__ count:" 1000"

}

__ count将具有总记录。

注意:确保在服务中实现了$ count。

我们可以在afterDataRecevied方法中检索此结果。

谢谢

Bhavya

一周热门 更多>