SAP UI5将Odata读入JSONModel

2020-09-07 10:57发布

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

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


大家好,

我想将Odata读取到JSONModel中。 这是我的代码。请帮助我。

//InvoiceList.controller.js
 onInit:function(){
        var oModel = newsap.ui。 模型。  odata。  ODataModel("/img/destinations/northwind/V2/Northwind/Northwind.svc/",{useBatch:true});
        var oJsonModel = new JSONModel();
        this.getView()。setModel(oJsonModel," Json");
        oModel.read("/img/Invoices",null,null,true,function(oData,response){
 oJsonModel.setData({" Invoices":oData});
 },function(err){
 MessageBox.show(
 "读取失败!",{
 图标:sap.m.MessageBox.Icon.ERROR,
 标题:"尊敬的用户",
 styleClass:" sapUiSizeCompact"
 });
 });
 }
//InvoiceList.view.xml
 <表
 id =" invoiceList"
 class =" sapUiResponsiveMargin"
 width =" auto"
 items =" {Json>/发票}"
 growth =" true"
 growthThreshold =" 10"
 busyIndi​​catorDelay =" 200"
 enableBusyIndi​​cator =" true"
 growthTriggerText =" Inoivces"
 noDataText ="没有可用的产品"
 >
 <项目>
 
 <单元格>
 
 
 
 
 
 
 
 

//oData
 https://services.odata.org/V2/Northwind/Northwind.svc/发票
 

读取Odata已成功完成,但是在oJsonModel中似乎没有任何作用。

先谢谢您

LEI

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

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


大家好,

我想将Odata读取到JSONModel中。 这是我的代码。请帮助我。

//InvoiceList.controller.js
 onInit:function(){
        var oModel = newsap.ui。 模型。  odata。  ODataModel("/img/destinations/northwind/V2/Northwind/Northwind.svc/",{useBatch:true});
        var oJsonModel = new JSONModel();
        this.getView()。setModel(oJsonModel," Json");
        oModel.read("/img/Invoices",null,null,true,function(oData,response){
 oJsonModel.setData({" Invoices":oData});
 },function(err){
 MessageBox.show(
 "读取失败!",{
 图标:sap.m.MessageBox.Icon.ERROR,
 标题:"尊敬的用户",
 styleClass:" sapUiSizeCompact"
 });
 });
 }
//InvoiceList.view.xml
 <表
 id =" invoiceList"
 class =" sapUiResponsiveMargin"
 width =" auto"
 items =" {Json>/发票}"
 growth =" true"
 growthThreshold =" 10"
 busyIndi​​catorDelay =" 200"
 enableBusyIndi​​cator =" true"
 growthTriggerText =" Inoivces"
 noDataText ="没有可用的产品"
 >
 <项目>
 
 <单元格>
 
 
 
 
 
 
 
 

//oData
 https://services.odata.org/V2/Northwind/Northwind.svc/发票
 

读取Odata已成功完成,但是在oJsonModel中似乎没有任何作用。

先谢谢您

LEI

付费偷看设置
发送
6条回答
歪着头看世界
1楼-- · 2020-09-07 11:36

为什么在通话过程中不使用$ format = json,您将获取JSON数据并进一步使用它

 https://services.odata.org/V2/Northwind/Northwind.svc/发票?$ format = json 
Haoba3210
2楼-- · 2020-09-07 11:45

您可以console.log数据this.getView()。getModel(" jsonmodel")。getData()或在getproperty中传递路径。 实际上,您可以在创建模型时传递url。 理想情况下,我建议您使用Odata格式,是否会遇到任何问题。

Nir深蓝
3楼-- · 2020-09-07 11:25

您应该使用v2 odata模型并检查有关如何调用的api

追夢秋陽
4楼-- · 2020-09-07 11:25

从 不建议您使用json模型显示的内容。 它将对性能产生负面影响。 考虑使用标准方法。

spaceman01
5楼-- · 2020-09-07 11:23

Hi Hand Lei,下面介绍了使用nothwind服务的另一种方法。

 onInit:function(){
       var uri =" https://cors-anywhere.herokuapp.com/http://services.odata.org/V2/Northwind/Northwind.svc/Products?$format=json";
       var oModel = new sap.ui.model.json.JSONModel();
       oModel.loadData(uri);
       this.getView()。setModel(oModel);
     },

 请参考-> https://plnkr.co/edit/RwiEJ388t9W7SxcCqgHJ 
半个程序猿
6楼-- · 2020-09-07 11:28

代替此行oJsonModel.setData({" Invoices":oData}); 写oJsonModel.setData({" Invoices":oData.results});

一周热门 更多>