在UI5中绑定协会XSOData?

时间:2017-11-05 01:50:14

标签: javascript odata sapui5 xsodata

我们说我在XSOData中有Employee实体与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。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,Address元素就是一个实体。您不能将属性绑定到整个实体。我认为它有一些属性(例如StreetCity等)。您必须将UI5控件属性绑定到OData实体的单个属性,或使用formatter / expression绑定将它们组合在一起。

尽管如此,您仍然需要稍微调整一下代码。当您执行绑定时,默认情况下不会检索相关的Address。要检索它,您应该使用$expand选项。

<List id="EmployeeList" headerText="Employees" 
    items="{path: '/Employee', parameters: {expand: 'Address'}}">
    <items>
        <StandardListItem title="{Name}"
                  description="{Address/SomePropertyFromTheAddressEntity}"
        />
    </items>
</List>