我想知道是否可以从listItems中获取动态表值onSelect。
controller.js
onPress : function(oEvent){
var oSelectedItem = oEvent.getSource();
var oContext = oSelectedItem.getBindingContext("invoice");
var sPath = oContext.getPath();
var oListItem= this.getView().byId("BoM");
oListItem.bindItems({
path : "invoice>/ProductHeadSet('12345')/ProductHead2BOM",
template : new sap.m.ColumnListItem({
cells: [
new sap.m.Text({
text: "{invoice>Material}"
}),
new sap.m.Text({
text: "{invoice>Component}"
}),
new sap.m.Text({
text: "{invoice>Brand}"
})
]
})
});
}
});
上面是我的控制器,当我进行onPress时,我可以从“ 12345”接收值。但是,当我尝试通过删除(12345)“ invoice> / ProductHeadSet / ProductHead2BOM”来创建动态onPress时,它向我抛出诸如“请求URI无效”的错误。 ProductHeadSet段是指一个实体集,而不是单个实体。”
感谢和问候。
答案 0 :(得分:0)
您的答案就在那里
“请求URI无效。ProductHeadSet段引用的是实体集,而不是单个实体。”
解释下面的代码,方括号内的数字有助于确定应将数组中的哪个索引绑定到列表。
invoice>/ProductHeadSet('12345')/ProductHead2BOM
没有数字,您正在尝试将整个数组绑定到oListItem。
编辑
如果不查看模型和绑定,很难回答这个问题,但是要这样做
path : "invoice>/ProductHeadSet('12345')/ProductHead2BOM"
做
path : "invoice>"+sPath+"/ProductHead2BOM"