sapui5:odata模型读取的实体集无法更新为ui

2020-09-08 09:17发布

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

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


大家好,

我在控制器init方法中通过Odata服务获得了Odata模型,在init方法中,我尝试读取实体集并将其值显示给UI,但是失败了。 调试后,在View加载完成后,我看到了读取的结果。 我试图刷新模型,但不起作用。 (实体集:BP的字段为:" F_NAME_01"/" L_NAME_02"),如果有人可以告诉我如何解决此问题?

控制器初始化:

var oBpModel = new sap.ui.model.odata.v2.ODataModel("/img/BP/oData/sensorjump.xsodata/"); var oJsonModel = new sap.ui.model.json.JSONModel();

oBpModel.read("/img/BP('10000102')",{

成功:函数(oData,oResponse){

oJsonModel.setData(oData); //可以获取odata信息并成功设置为JSONModel

sap.ui.getCore()。setModel(oJsonModel," readModel");

oJsonModel.refresh(true); },
error:function(oError){}});

视图:

<标签文本="名字"/>

<文本text =" {readModel> F_NAME_01}"/>

<标签文本="姓氏"/>

<文本text =" {readModel> L_NAME_02}​​"/>

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

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


大家好,

我在控制器init方法中通过Odata服务获得了Odata模型,在init方法中,我尝试读取实体集并将其值显示给UI,但是失败了。 调试后,在View加载完成后,我看到了读取的结果。 我试图刷新模型,但不起作用。 (实体集:BP的字段为:" F_NAME_01"/" L_NAME_02"),如果有人可以告诉我如何解决此问题?

控制器初始化:

var oBpModel = new sap.ui.model.odata.v2.ODataModel("/img/BP/oData/sensorjump.xsodata/"); var oJsonModel = new sap.ui.model.json.JSONModel();

oBpModel.read("/img/BP('10000102')",{

成功:函数(oData,oResponse){

oJsonModel.setData(oData); //可以获取odata信息并成功设置为JSONModel

sap.ui.getCore()。setModel(oJsonModel," readModel");

oJsonModel.refresh(true); },
error:function(oError){}});

视图:

<标签文本="名字"/>

<文本text =" {readModel> F_NAME_01}"/>

<标签文本="姓氏"/>

<文本text =" {readModel> L_NAME_02}​​"/>

付费偷看设置
发送
4条回答
土豆飞人
1楼-- · 2020-09-08 09:31

你好

代替这个

 sap.ui.getCore()。setModel(oJsonModel," readModel"); 

尝试:

 this.getView()。setModel(oJsonModel," readModel"); 

无论如何, https://answers.sap.com/questions/12652282/odatav2-read-and-property-bindning-to-a-viewform.html ,它可能有助于错误分析。

KR,
亚瑟·席尔瓦(Arthur Silva)

小熊yu生菜
2楼-- · 2020-09-08 09:53

亚瑟(Hi Arthur),

感谢您的答复,我之前尝试过this.getView()。setModel(oJsonModel," readModel"),但是当系统进入"成功"状态时," this"已经不确定,因此不能使用" this.getVire" ()"。

最好的问候。

Shaochun。

我是小鹏鹏啊
3楼-- · 2020-09-08 09:46

尝试将其包含在函数范围内,如下所示:

 oBpModel.read("/img/BP('10000102')",{
   成功:函数(oData,oResponse){
     oJsonModel.setData(oData);
     this.getView()。setModel(oJsonModel," readModel");
     oJsonModel.refresh(true);
   },
   错误:函数(oError){}
 },this); 

KR,
亚瑟·席尔瓦(Arthur Silva)

N-Moskvin
4楼-- · 2020-09-08 09:34

在图片1中,您可以看到我得到了oData,图片2,这是未定义的,因此在图片3中,系统无法获取getView()方法。 所以我不能使用this.getView()。setModel()方法。

一周热门 更多>