Sapui5 表列名称不会在模型更改时更新

Sapui5 表列名称不会在模型更改时更新,sapui5,Sapui5,我创建一个表: oTable.setModel(new sap.ui.model.json.JSONModel(oData)); oTable.bindAggregation("items", "/items", new sap.m.ColumnListItem({ cells: oData.cols.map(function (colname) { return new sap.m.Label({ text: "{" +

我创建一个表:

oTable.setModel(new sap.ui.model.json.JSONModel(oData));
        oTable.bindAggregation("items", "/items", new sap.m.ColumnListItem({
            cells: oData.cols.map(function (colname) {
                return new sap.m.Label({ text: "{" + colname + "}" });
            })
        }));
然后我想更改模型(它包含行和列):


但刷新后,我看到新数据(:D),但旧的cols名称

尝试将ColumnListItem的单元格绑定到“/cols”

您会看到旧的列名,因为您没有更改单元格聚合以使用新模型;它仍然链接到oData.cols.map;-)谢谢你!如何更改链接?我决定删除模型
oTable.getModel().destroy();setModel(新的sap.ui.model.json.JSONModel(oData))但我不喜欢它…不要使用对oData.cols的引用,而是对您的表模型
oTable.getModel().getProperty(“cols”)
,假设您的模型有一个属性“cols”
cells:oTable.getModel().getProperty(“cols”).map(函数(colname){return new sap.m.Label({text:“{+colname+”});})
not work:/n确保将路径设置为“cols”正确,它应该与您的模型结构相匹配(如果它位于模型的根目录中,请使用“/cols”)。你能发布一个JSBin样本吗?
oTable.setModel(new sap.ui.model.json.JSONModel(NEWoData));
    model =oTable.getModel();
    model.refresh();