首页 > 解决方案 > SAPUI5 将表绑定从 ODataModel 更改为 JSONModel

问题描述

我创建了一个表并将其ODataModel用于数据绑定。一切正常。模板定义了应该绑定到列的属性。

但是,在某些时候,我需要将 a 绑定JSONModel到表而不是ODataModel(因为应该调整数据,但实际上不应在后端更新它)。数据在开始时应该是一样的。

到目前为止,我创建了服务请求以获取所有数据。然后我将它添加到JSONModel(使用setData函数)。

现在我想知道如何替换这两个模型。甚至可以更改绑定(和表属性)以便JSONModel绑定还是我需要创建一个新表?

我感谢每一个提示!

标签: sapui5

解决方案


您可以使用setModel成员函数将新的 JSON 模型分配给现有控件:

oTable.setModel(yourNewJSONModel);

如果您已命名模型(因此,您的绑定看起来像“{modelName>/property}”那么您应该以这种方式分配新模型:

oTable.setModel(yourNewJSONModel, "modelName");

可能您必须根据您使用的表类型(sap.ui.table.Table 或 sap.m.Table)重新绑定行(或项目)聚合:

oTable.bindRows({
   path: "/somePropertyPath",
   model: "modelName"
});

如果行的所有字段名称都相同,那么它应该可以工作。


推荐阅读