Fiori Extension在列表项的聚合绑定之前调用Entityset值

时间:2018-07-09 15:49:39

标签: javascript data-binding odata sapui5 sap-fiori

我是Fiori的新手,正在开发标准的Fiori App扩展。这是一个Master-> Detail App。在我的masterview中,我可以将列表与odata绑定在一起。下面是我的代码

this.searchFilters = new sap.ui.model.Filter([oFilterSName], true); this.oList.bindAggregation("items", { path: '/entityset1', template: this.oListItem, filters: this.searchFilters });

这绝对可以正常工作,但是/ entityset1中有一个名为“ serialNo”的值,在entityset1绑定到列表之前,我需要获取该值。我的想法是,如果我能够获取“ serialNo”,那么我将需要查询另一个实体集(entityset2)来获取一个不同的值并绑定到主视图中的另一个元素。

有人可以建议如何获得价值。这是一个标准的fiori应用程序,这是一个未命名的模型。我已经在onInit()和onAfterRendering中尝试了this.getView.getModel(),但出现了未定义的错误。有人可以给我提供一个示例应用程序,还是提供一些片段以从entityset1获取值。

1 个答案:

答案 0 :(得分:0)

听起来像您必须使用$expand url参数来同时从两个实体集中获取数据。

this.searchFilters = new sap.ui.model.Filter([oFilterSName], true);
this.oList.bindAggregation("items", {
  path: '/entityset1',
  template: this.oListItem,
  filters: this.searchFilters,
  parameters: {
    expand: "/entityset2" //$expand to /entityset2
  }
});