如何动态绑定sap.ui.table中的两个模型

2020-09-12 13:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我遇到了表绑定问题。需求...

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

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


嗨,

我遇到了表绑定问题。需求就像我需要用响应的第一个索引覆盖标头,其余应该是行。

所以在这里我创建了两个JSON模型,一个用于标头,另一个用于行,

var oMetaModel = new sap.ui.model.json.JSONModel();

var oDataModel = new sap.ui.model.json.JSONModel();

var e;

this.finArray.forEach(function(item,index){

headerArray [e] = odata.results [0] [item];

e ++;

});

oMetaModel.setData({

标题:headerArray

});

this.getView()。byId(" tableId")。setModel(oMetaModel,'meta');

this.getView()。byId(" tableId")。bindColumns('meta>/headers',function(sId,oContext){

var sColumnId = oContext.getObject();

返回新的sap.ui.table.Column({标签:sColumnId,template:sColumnId});

});

这是标题表。

现在,请帮助我如何绑定ui表中的行。





5条回答
Haoba3210
2020-09-12 14:23

此方法有效,因此您可以根据自己的情况进行调整:

 onInit:函数(){
             this.oTable = this.getView()。byId(" tableId");
            
             var oMetaModel = new sap.ui.model.json.JSONModel({
                 标头:["产品名称","产品ID","价格"]
             });
             var oDataModel = new sap.ui.model.json.JSONModel({
                 产品:[{
                     "产品名称":"电视",
                     "产品ID":" TV1",
                     "价格":" $ 100"
                 },{
                     "产品名称":"计算机",
                     "产品ID":" TP1",
                     "价格":" $ 500"
                 },{
                     "产品名称":"汽车",
                     "产品ID":" CR1",
                     "价格":" $ 10,000"
                 }]
             });

             this.getView()。setModel(oMetaModel," MetaModel");
             this.getView()。setModel(oDataModel," DataModel");

             this.oTable.bindRows(" DataModel>/products");
            
             this.oTable.bindColumns(" MetaModel>/headers",function(sId,oContext){
                 var sLabel = oContext.getObject();
                 返回新的sap.ui.table.Column({
                     标签:新的sap.m.Label({
                         文字:sLabel
                     }),
                     模板:" DataModel>" + sLabel
                 });
             });
         } 

请注意,您的标签字符串必须与属性值匹配。 例如。 数据的"产品名称"标签必须等于"产品名称"属性。

一周热门 更多>