2017-01-26 25 views
0

SAP UI5で異なるエンティティを表示するためにテーブルを操作しています。 My Mockserverには2つのJSONファイルが保存されています:Consumers.json & Orders.json。それらを両方とも1つのテーブルに実装するにはどうすればよいですか?私の現在のコード:複数のJSONモデルを1つのビューにバインドする

表とビュー:

<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

tcdata、今、次のパラメータ$expand=Customersを持っているリンク/Ordersと呼ばれます。このため

すなわち

<tcdata-Uri>/Orders$expand=Customers 

仕事に、ルートパスとお客様との間に何らかの関係があることが必要となります。

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

この場合、受注明細はお客様の詳細を含むように展開されます。

+0

テーブルのContactNameを表示するためにネストされた顧客を解析する方法を知っていますか? –

+0

あなたのコードでそれをやったのと同じように動作します。新しいデータレイアウトを想定します。 – RelativePeezyness

+0

{tcdata> Customers/ContactName} – RelativePeezyness

関連する問題