在 UI5 中绑定关联 XSOData?
Bind Association XSOData in UI5?
假设我有 Employee
实体与 XSOData 中的 Address
实体关联,我想将它们绑定到单个控件 - StandardListItem
。如何实现?
<List id="EmployeeList" headerText="Employees" items="{ path: '/Employee'}">
<items>
<StandardListItem title="{Name}" //from Employee entity
description="{Address/City}" //from Address entity
/>
</items>
</List>
可在 Employee('emp1')/Address/
获取相关地址详细信息
TIA。
如果我没理解错的话,Address
元素是一个实体。您不能将 属性 绑定到整个实体。我假设它有自己的一些属性(例如 Street
、City
等)。您必须将 UI5 控件 属性 绑定到 OData 实体的单个 属性 或使用格式化程序/表达式绑定将它们组合在一起。
尽管如此,您还是需要稍微调整一下代码。当您按原样进行绑定时,默认情况下不会检索相关的 Address
。要检索它,您应该使用 $expand 选项。
<List id="EmployeeList" headerText="Employees"
items="{path: '/Employee', parameters: {expand: 'Address'}}">
<items>
<StandardListItem title="{Name}"
description="{Address/SomePropertyFromTheAddressEntity}"
/>
</items>
</List>
假设我有 Employee
实体与 XSOData 中的 Address
实体关联,我想将它们绑定到单个控件 - StandardListItem
。如何实现?
<List id="EmployeeList" headerText="Employees" items="{ path: '/Employee'}">
<items>
<StandardListItem title="{Name}" //from Employee entity
description="{Address/City}" //from Address entity
/>
</items>
</List>
可在 Employee('emp1')/Address/
TIA。
如果我没理解错的话,Address
元素是一个实体。您不能将 属性 绑定到整个实体。我假设它有自己的一些属性(例如 Street
、City
等)。您必须将 UI5 控件 属性 绑定到 OData 实体的单个 属性 或使用格式化程序/表达式绑定将它们组合在一起。
尽管如此,您还是需要稍微调整一下代码。当您按原样进行绑定时,默认情况下不会检索相关的 Address
。要检索它,您应该使用 $expand 选项。
<List id="EmployeeList" headerText="Employees"
items="{path: '/Employee', parameters: {expand: 'Address'}}">
<items>
<StandardListItem title="{Name}"
description="{Address/SomePropertyFromTheAddressEntity}"
/>
</items>
</List>