将 OData 关联"one to many"绑定到 UI5 中的聚合



我正在从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视图中。

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

<Table items="{toItems}">

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

如果物品还不可用,ODataListBinding将相应地向物品发送请求。

最新更新