我正在尝试将数据绑定到我的表格。
我的守则的相关部分:
来自View:
var innerTable2 = new sap.m.Table(this.createId("innerTable2"), {
columns: [
new sap.m.Column({
header: new sap.m.Label({
text: " Header Text"
})
}),
new sap.m.Column({
header: new sap.m.Label({
text: " Header Text 2"
})
})
]
}).addStyleClass("table-result");
来自Controller的:
// creating path for the property I need
var path_STOFFTYP = "{" + elementId + "/stoff/STOFFTYP}";
var oInnerTemplate2 = new sap.m.ColumnListItem({
cells: [
new sap.m.Text({
text: "test"
}),
new sap.m.Text({
text: path_STOFFTYP
})
]
});
//here binding template to table
this.byId("innerTable2").setModel(oModel).bindItems("/results/rs999", oInnerTemplate2);
如果我现在离开path_STOFFTYP
,我就不会收到任何数据。
如果我只将其设为“stoff”,则显示[object Object]
与stoff
数组的长度一样多。
我所知道的是,“stoff”属性至少包含1个且最多65个不同的元素(取决于所选项目。它的动态)
如果我将var path_STOFFTYP
更改为"{" + elementId + "/stoff/0/STOFFTYP}";
显示“Wirkstoff”的值。哪个是正确的,但是我不想创建60个不同的属性。
我的问题:如何设法从数组“stoff”获取属性“STOFFTYP”的所有值?我想动态绑定它。
答案 0 :(得分:0)
我不确定我是否完全理解你要做的事情。
但是你的Binding是错误的stoff是结果/ rs999数组中的一个数组。所以它是数组中的数组。
您的模板应该只使用相对绑定
path_STOFFTYP = "{STOFFTYP}";
然后你应该动态地将你的物品绑定到某种这样的路径:
/here binding template to table
this.byId("innerTable2").setModel(oModel).bindItems("/results/rs999/"+elementId+"/stoff", oInnerTemplate2);