使用 TableSelectDialog 的选定上下文作为 Table 的模型
Using Selected Context of TableSelectDialog as a Model for Table
我正在尝试将 sap.m.TableSelectDialog
的 selectedContexts
参数设置为 sap.m.table
的模型。
我使用以下代码确保 selectedContext
不为空:
MessageToast.show("You have chosen " + aContexts.map(function (oContext) {
return oContext.getObject().documentPN;
}).join(", "));
首先,我尝试为 table 设置绑定上下文:
this.byId('myTable').setBindingContext(aContexts[0]);
我也尝试获取 selectedItems
数组并将其设置为模型的数据。
let oItems = oEvent.getParameter("selectedItems");
let oTable = this.getView().byId("myTable");
let oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oItems);
oTable.setModel(oModel);
两种方法都不起作用
终于解决了问题。这是代码:
let oTable = this.getView().byId("myTable");
let oModel = new JSONModel();
let arr = [];
aContexts.map(function(oContext) {
arr.push(oContext.getObject());
});
oModel.setData(arr);
oTable.setModel(oModel);
我正在尝试将 sap.m.TableSelectDialog
的 selectedContexts
参数设置为 sap.m.table
的模型。
我使用以下代码确保 selectedContext
不为空:
MessageToast.show("You have chosen " + aContexts.map(function (oContext) {
return oContext.getObject().documentPN;
}).join(", "));
首先,我尝试为 table 设置绑定上下文:
this.byId('myTable').setBindingContext(aContexts[0]);
我也尝试获取 selectedItems
数组并将其设置为模型的数据。
let oItems = oEvent.getParameter("selectedItems");
let oTable = this.getView().byId("myTable");
let oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oItems);
oTable.setModel(oModel);
两种方法都不起作用
终于解决了问题。这是代码:
let oTable = this.getView().byId("myTable");
let oModel = new JSONModel();
let arr = [];
aContexts.map(function(oContext) {
arr.push(oContext.getObject());
});
oModel.setData(arr);
oTable.setModel(oModel);