如何在 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
    });