Связать ассоциацию XSOData в UI5?

Допустим, у меня есть Employee сущность, связанная с Address сущность в XSOData, и я хочу связать их с одним элементом управления - 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/

ТИА.

1 ответ

Решение

Если я правильно понимаю, то 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>
Другие вопросы по тегам