将“一对多” OData关联绑定到UI5中的聚合

时间:2019-11-10 16:07:26

标签: data-binding sapui5

我正在从OData服务读取一些数据。在控制器内,我执行以下操作:

this.getView().bindElement({
  path: "/HeaderData(key1='key1',key2='key2')",
  parameters: { expand: 'toItems' }
});

数据已正确读取,控制台中的模型如下:

HeaderData(key1='key1',key2='key2'): {
  HeaderField1: "value1"
  HeaderField2: "value2"
  toItems: {__list: Array(2)}
}

现在,我想将"toItems"集合中的条目绑定到一个表。 我尝试了以下操作,但由于"toItems"是一个集合而无法正常工作。

<Table items="{
  path: '/HeaderData',
  parameters: { expand: 'toItems' }
}">

这个也不起作用:

<Table items="{
  path: '/HeaderData/toItems'
}">

如何正确绑定项目?无法通过ID访问该表,因此绑定必须在XML视图中。

1 个答案:

答案 0 :(得分:0)

只需将导航属性绑定到聚合:

<Table items="{toItems}">

请确保在绑定路径的开头省略/,因为它应该相对于绑定的实体/上下文(由bindElement给出 relative 解析) 。要了解更多信息,请参见主题 Binding Path

如果ODataListBinding尚不可用,则会向其发送请求。