从listItems

时间:2018-11-19 09:00:57

标签: sapui5

我想知道是否可以从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段是指一个实体集,而不是单个实体。”

感谢和问候。

1 个答案:

答案 0 :(得分:0)

您的答案就在那里

  

“请求URI无效。ProductHeadSet段引用的是实体集,而不是单个实体。”

解释下面的代码,方括号内的数字有助于确定应将数组中的哪个索引绑定到列表。
invoice>/ProductHeadSet('12345')/ProductHead2BOM
没有数字,您正在尝试将整个数组绑定到oListItem。

编辑
如果不查看模型和绑定,很难回答这个问题,但是要这样做
path : "invoice>/ProductHeadSet('12345')/ProductHead2BOM"

path : "invoice>"+sPath+"/ProductHead2BOM"