2017-01-26 11 views
0

Я работаю над таблицей для отображения разных объектов в SAP UI5. Мой Mockserver хранит 2 разных файла JSON: Consumers.json & Orders.json. Как я могу реализовать их как в одну таблицу? Мой текущий код:Связывание нескольких моделей JSON в один вид

Вид с таблицей:

<Table 
    id="belege" 
    class="sapUiResponsiveMargin" 
    width="auto" 
    growing ="true" 
    growingThreshold="15" 
    growingScrollToLoad="false" 
    items = "{path : 'tcdata>/Orders', parameter: {expand : 'Customers'}}"> 
    <headerToolbar> 
     <Toolbar> 
      <Title text="{i18n>showTitleText}"/> 
     </Toolbar> 
    </headerToolbar> 
    <columns> 
     <Column> 
      <Text text="{i18n>columnName1}"/> 
     </Column> 
     <Column> 
      <Text text="{i18n>columnName2}"/> 
     </Column> 
     <Column> 
      <Text text="{i18n>columnName3}"/> 
     </Column> 
     <Column> 
      <Text text="{i18n>columnName4}"/> 
     </Column> 
     <Column> 
      <Text text="{i18n>columnName5}"/> 
     </Column> 
     <Column> 
      <Text text="{i18n>columnName6}"/> 
     </Column> 
    </columns> 
    <items> 
     <ColumnListItem type="Navigation" press="onPress"> 
      <cells> 
       <ObjectIdentifier 
       title ="{tcdata>/Customers/ContactName}" 
       text="{tcdata>Customers/CompanyName}"/> 
       <ObjectIdentifier 
       text ="{Customers/Country}"/> 
       <ObjectNumber 
       number ="{tcdata>PostalCode}"/> 
       <ObjectIdentifier 
       text="{tcdata>ShipCity}"/> 
      </cells> 
     </ColumnListItem> 
    </items> 
</Table> 

Customers.json:

[{ 
"CustomerID": "ALFKI", 
"CompanyName": "Alfreds Futterkiste", 
"ContactName": "Maria Anders", 
"ContactTitle": "Sales Representative", 
"Address": "Obere Str. 57", 
"City": "Berlin", 
"PostalCode": "12209", 
"Country": "Germany", 
"Phone": "030-0074321", 
"Fax": "030-0076545"}] 

Orders.json:

[{ 
"OrderID": "10248", 
"Customer": "VINET", 
"EmployeeID": "5", 
"OrderDate": "1996-07-04T00:00:00", 
"RequiredDate": "1996-08-01T00:00:00", 
"ShippedDate": "1996-07-16T00:00:00", 
"ShipVia": "3", 
"Freight": "32.3800", 
"ShipName": "Vins et alcools Chevalier", 
"ShipAddress": "59 rue de l'Abbaye", 
"ShipCity": "Reims", 
"ShipPostalCode": "51100", 
"ShipCountry": "France"}] 

ответ

1

Обратите внимание, что items декларации пытается найти объекты из модели под названием tcdata и ссылку /Orders, что теперь имеют следующие параметры $expand=Customers.

т.е.

<tcdata-Uri>/Orders$expand=Customers 

Для этого, чтобы работать, там должны были бы быть некоторые отношения между корневой путь и клиентов. Как если бы вы это как ваши заказы: JSON

[{ 
    "Id": 12, 
    "Name": "Order1", 
    "Customers": { 
     "Name": "Customer1", 
     "ContactName": "Person1" 
    } 
}] 

Тогда Приказы Пункт будет расширен за счет включения сведений клиентов.

+0

Знаете ли вы, что вы разобрали бы вложенного клиента, чтобы отображать, скажем, ContactName в таблице? –

+0

Так же, как вы сделали это в своем коде, тогда будет работать. Предполагая новый формат данных. – RelativePeezyness

+0

{tcdata> Клиенты/Контактное имя} – RelativePeezyness