SAPUI5将表绑定从ODataModel更改为JSONModel

SAPUI5将表绑定从ODataModel更改为JSONModel,sapui5,Sapui5,我创建了一个表,并使用ODataModel进行数据绑定。一切正常。模板定义了应绑定到列的属性 但是,在某个时候,我需要将JSONModel绑定到表而不是ODataModel,因为数据应该进行调整,但实际上不应该在后端进行更新。数据在开始时应该是一样的 到目前为止,我创建了服务请求来获取所有数据。然后,我使用setData函数将其添加到JSONModel中 现在我想知道如何更换这两种型号。甚至可以更改绑定和表属性以便绑定JSONModel,还是需要创建一个新表 我感谢每一个提示 您可以使用setM

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

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

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

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


我感谢每一个提示

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

oTable.setModel(yourNewJSONModel);
如果您已将模型命名为{modelName>/property},那么您应该这样分配新模型:

oTable.setModel(yourNewJSONModel, "modelName");
可能需要根据使用的表类型sap.ui.table.table或sap.m.table重新绑定行或项聚合:

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

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

为什么不立即将数据加载到表的JSONModel中呢?我目前正在使用ODataModel,因为我可以使用growingThreshold属性逐步加载数据。JSONModel仅在一些不经常使用的可选情况下才是必需的。因此,如果确实有必要,我只想使用不带$top请求参数的JSONModel…谢谢!它在oTable.bindItemsmodelName>/results,oTemplate中对我有效;oTemplate=表的模板。