如何从SAPUI5应用程序获取OData v2模型中的内联计数?

2020-09-13 18:04发布

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

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


大家好,

我们正在开发定制SAPUI5应用程序。 在我的应用程序中,我需要在表"选择对话框控件"中显示EntitySet的内联计数值。

早期,我使用var oModel = new sap.ui.model.odata。 ODataModel 。 在这种情况下,当我尝试读取OModel.read()时,从响应中获得了内联计数。 请参见下面的代码段。

//获得内联计数的代码
 var sPath ="/img/TechPlatzSet?$ filter = Tplnr eq'" + sValue +"'&$ inlinecount = allpages";
 oModel.read(sPath,
 {
 异步:假,
 成功:函数(oData,响应){
//显示"内联计数"值以及"表选择"对话框标题
 sap.ui.getCore()。byId(" id_table_select_dialog")
 .setTitle(i18TechnicalPlatzText +"("" oData.results.length +")");

 },
 错误:function(oError){
 MessageToast.show(" Error");
 }
 });
 


我像上面那样形成了URL,并在成功功能中得到了响应。


但是当我更改为OData v2类型实例化的那一刻,

oModel =新 sap.ui.model.odata.v2。 ODataModel 它从不返回0。


我想,有一些与异步相关的东西。 请帮助我。


谢谢

致谢

JK。


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

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


大家好,

我们正在开发定制SAPUI5应用程序。 在我的应用程序中,我需要在表"选择对话框控件"中显示EntitySet的内联计数值。

早期,我使用var oModel = new sap.ui.model.odata。 ODataModel 。 在这种情况下,当我尝试读取OModel.read()时,从响应中获得了内联计数。 请参见下面的代码段。

//获得内联计数的代码
 var sPath ="/img/TechPlatzSet?$ filter = Tplnr eq'" + sValue +"'&$ inlinecount = allpages";
 oModel.read(sPath,
 {
 异步:假,
 成功:函数(oData,响应){
//显示"内联计数"值以及"表选择"对话框标题
 sap.ui.getCore()。byId(" id_table_select_dialog")
 .setTitle(i18TechnicalPlatzText +"("" oData.results.length +")");

 },
 错误:function(oError){
 MessageToast.show(" Error");
 }
 });
 


我像上面那样形成了URL,并在成功功能中得到了响应。


但是当我更改为OData v2类型实例化的那一刻,

oModel =新 sap.ui.model.odata.v2。 ODataModel 它从不返回0。


我想,有一些与异步相关的东西。 请帮助我。


谢谢

致谢

JK。


付费偷看设置
发送
2条回答
clasier
1楼-- · 2020-09-13 18:27

嗨,

我认为您在OData JSON响应中查看的属性错误。

看看这个示例请求: https://services.odata.org/V2/Northwind/Northwind.svc/Suppliers?$expand=Products&$format=json&$top=1&$inlinecount=allpages

 {
 " d":{
 "结果":[{
 " __metadata":{
 " uri":" https://services.odata.org/V2/Northwind/Northwind.svc/Suppliers(1)",
 " type":" NorthwindModel.Supplier"
 },
 " SupplierID":1
 " CompanyName":"异国液体"
 " ContactName":"夏洛特·库珀",
 " ContactTitle":"采购经理",
 "地址":" 49 Gilbert St.",
 "城市":"伦敦",
 "区域":null,
 " PostalCode":" EC1 4SD",
 "国家":"英国",
 " Phone":"(171)555-2222",
 "传真":空,
 "主页":null,
 "产品":{
 " __deferred":{
 " uri":" https://services.odata.org/V2/Northwind/Northwind.svc/Suppliers(1)/Products"
 }
 }
 }],
 " __count":" 29"
 }
 }
 

如您所见,有关$ inlinecount = allpages返回的计数的信息位于属性" __count"内

无论如何,您不应该使用async = false模式。

正如我所说的,不要使用async:false选项。

无法访问您的代码或没有有关错误消息的更多信息,我对此无能为力。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答