SAPUI5将表绑定从ODataModel更改为JSONModel

时间:2019-07-09 12:10:58

标签: sapui5 sap

我创建了一个表,并使用ODataModel进行数据绑定。一切正常。模板定义应绑定到列的属性。

但是,在某些时候,我需要将JSONModel绑定到表而不是ODataModel(因为应该修改数据,但实际上不应在后端对其进行更新)。开头的数据应该相同。

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

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

我很感谢每一个提示!

1 个答案:

答案 0 :(得分:1)

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

oTable.setModel(yourNewJSONModel);

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

oTable.setModel(yourNewJSONModel, "modelName");

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

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

如果行的所有字段名称都相同,那么它将起作用。