点击此处---> 群内免费提供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)
嗨,
使用setSizeLimit获取所有记录。
引用JsDoc报告-用于HTML5的SAP UI开发工具包-API参考-sap.ui.model.Model
还应显示$ count OData实体集合中可用的记录数,例如。 http://services.odata.org/OData/OData.svc/Categories/$count
问候,
钱德拉
嗨钱德拉,
感谢您的建议。
但是我认为就我而言,我们不想获得完整的清单。 我们仍然希望最初只获得100个项目,然后如果用户向下滚动,他/她将看到更多项目。 但是我们已经需要知道项目总数,以便向用户显示消息。 例如 总问题数(515),但该表最初仅显示100,然后在滚动后显示另外100。 因此,将litlit的大小设置为max不会有帮助。
要使用您提到的$ count,我们仍然必须进行另一个我们不希望的oData服务调用。
但是正如我提到的,bindItems()方法调用的响应中已经有一个名为" __count"的属性,我看到它具有正确的计数,但不确定如何在控制器内部检索它。 谢谢。
此致
Ashish
嗨Ashish,
我们目前正面临这个问题,您有解决方案吗?
此致
Madhuri
我真的很喜欢这个想法,并将使用它。 谢谢????
总是很"高兴"地看到,有些东西具有API中提到的更多方法,函数或参数????
嗨,
将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
一周热门 更多>