使用 TableSelectDialog 的选定上下文作为 Table 的模型

Using Selected Context of TableSelectDialog as a Model for Table

我正在尝试将 sap.m.TableSelectDialogselectedContexts 参数设置为 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);