如何在sapui5中获取模型数据? (getModel()未定义)

2020-09-15 23:16发布

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

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


 var复选框= this.getView()。byId(" idProductsTableG")。getModel()。getData();

 checkbox.addDelegate({
 onAfterRendering:function(){this.getItems()。forEach(function(r){
              var obj = r.getBindingContext()。getObject();
              var enabled =(parseInt(obj.goods,10)<= 0);
 var checkbox = r。$()。find('。sapMCb');
              ocheckbox = sap.ui.getCore()。byId(checkbox.attr('id'));
 ocheckbox.setVisible(enabled);
 });
    }
    },复选框);


 

我想在表中显示特定项目的复选框。所以我要检查所有 表中的数据。但是当我尝试从模型中获取数据时,我面对未定义的" getModel()"。如何获取模型数据并对其进行遍历。

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

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


 var复选框= this.getView()。byId(" idProductsTableG")。getModel()。getData();

 checkbox.addDelegate({
 onAfterRendering:function(){this.getItems()。forEach(function(r){
              var obj = r.getBindingContext()。getObject();
              var enabled =(parseInt(obj.goods,10)<= 0);
 var checkbox = r。$()。find('。sapMCb');
              ocheckbox = sap.ui.getCore()。byId(checkbox.attr('id'));
 ocheckbox.setVisible(enabled);
 });
    }
    },复选框);


 

我想在表中显示特定项目的复选框。所以我要检查所有 表中的数据。但是当我尝试从模型中获取数据时,我面对未定义的" getModel()"。如何获取模型数据并对其进行遍历。

付费偷看设置
发送
2条回答
南山jay
1楼 · 2020-09-15 23:48.采纳回答
理想情况下....使用MVC ...将数据模型绑定到视图..甚至是表...然后...在表中,您在列内有列和项目模板...因此 复选框位于列定义的模板内...然后,如果您阅读模型...则可以看到绑定到该复选框的值....将其视为数据绑定,而不是检查的内容 复选框的值。.快速搜索sapui5文档将向您展示如何实现此目标...

代楠1984
2楼-- · 2020-09-15 23:58

如果要获取模型数据,则无需使用byId()。

 this.getView()。getModel()。getData(); 

如果没有运气,并且模型仍未定义,则可能是因为您要在哪里获取它,也许它尚未初始化。

如果从onInit调用它,则应该这样:

 onInit:function(){
 this.getView()。addEventDelegate({
 onBeforeFirstShow:function(){
//这里您可以获取模型。
 }
 });
 },
 

希望这会有所帮助。

一周热门 更多>