如何在 SAPUI5 中将模型绑定到 table
How to bind a model to a table in SAPUI5
我正在尝试将实体集从 oData 服务绑定到列表。
我的代码如下所示:
var list = oView.byId("list");
var requestModel = new sap.ui.model.json.JSONModel()
.attachRequestCompleted(function(data) {
var model = new sap.ui.model.json.JSONModel();
model.setData(data.getSource());
list.setModel(model);
});
requestModel.loadData("/sap/opu/odata/sap/XXX_SRV/detailSet?$filter=XXX eq 'XXX'");
我的服务 returns 预期的详细对象数组,但我似乎无法找到将它们绑定到列表的方法。
谢谢
要开始使用 ODataModel,试试这个 guide。一般来说,这很容易。
- 按照指南中的描述实例化模型。
- 将模型设置为视图。
- 使用 XML 视图中的绑定语法来触发加载实体的请求。
我终于找到了解决办法:
起初我不得不在我的列表中创建一个虚拟路径,如下所示:
<Table class="sapUiResponsiveMargin" items="{/dummy}" id="table" width="auto">
何时可以将 url 直接绑定到 table:
var url = "/XXX?$filter=XXX eq '" + XXX + "'";
var table = oView.byId("table");
table.bindItems({
path: url,
template: table.getBindingInfo("items").template
});
我正在尝试将实体集从 oData 服务绑定到列表。 我的代码如下所示:
var list = oView.byId("list");
var requestModel = new sap.ui.model.json.JSONModel()
.attachRequestCompleted(function(data) {
var model = new sap.ui.model.json.JSONModel();
model.setData(data.getSource());
list.setModel(model);
});
requestModel.loadData("/sap/opu/odata/sap/XXX_SRV/detailSet?$filter=XXX eq 'XXX'");
我的服务 returns 预期的详细对象数组,但我似乎无法找到将它们绑定到列表的方法。 谢谢
要开始使用 ODataModel,试试这个 guide。一般来说,这很容易。
- 按照指南中的描述实例化模型。
- 将模型设置为视图。
- 使用 XML 视图中的绑定语法来触发加载实体的请求。
我终于找到了解决办法:
起初我不得不在我的列表中创建一个虚拟路径,如下所示:
<Table class="sapUiResponsiveMargin" items="{/dummy}" id="table" width="auto">
何时可以将 url 直接绑定到 table:
var url = "/XXX?$filter=XXX eq '" + XXX + "'";
var table = oView.byId("table");
table.bindItems({
path: url,
template: table.getBindingInfo("items").template
});