Json
Json

Reputation: 39

SAPUI5 XmlView Show Data from Aggregation Binding Child

I need to get all the ContactEmployees contacts of each BusinessPartners client, in a Table List. Contacts are loaded but I can not show fields

My request https://***/BusinessPartners?$select=ContactEmployees&$skip=0&$top=20

My JSON Result from request "Only Selected ContactEmployees"

{
   "@odata.context" : "https://**********$metadata#BusinessPartners",
   "value" : [
      {
         "ContactEmployees" : [
            {
               "CardCode" : "C000002",
               "Name" : "Jose Duran",
               "Position" : null,
               "Address" : null,
               "Phone1" : null,
               "Phone2" : null
            },
            {
               "CardCode" : "C000003",
               "Name" : "Leo Manuel",
               "Position" : null,
               "Address" : null,
               "Phone1" : null,
               "Phone2" : null
            }
         ]
      },
      {
         "ContactEmployees" : [
            {
               "CardCode" : "C000010",
               "Name" : "MILDRED MEJIA",
               "Position" : null,
               "Address" : null,
               "Phone1" : null,
               "Phone2" : null
            }
         ]
      },
      {
         "ContactEmployees" : []
      },
      {
         "ContactEmployees" : []
      }
   ],
   "@odata.nextLink" : "BusinessPartners?$select=ContactEmployees&$skip=23&$top=5"
}

My Table View

            <Table id="idPartnerTable"
                    growing="true"
                    growingScrollToLoad="true"
                    inset="false"
                    items="{
                        path: '/BusinessPartners',
                        parameters:{
                        $select:'ContactEmployees,CardCode'
                        },
                        sorter: {
                            path: 'CardCode'
                        }
                    }">
                    <columns>
                        <Column id="carcode">
                            <Text text="ID" />
                        </Column>
                        <Column id="nombre" >
                            <Text text="Name" />
                        </Column>

                    </columns>
                    <items>
                        <ColumnListItem
                            type="Navigation"
                            press="onPress">                            
                            <cells>
                                <Text text="{ContactEmployees/CardCode} "/>
                                <Text text="{ContactEmployees/Name} "/>
                            </cells>
                        </ColumnListItem>
                    </items>
            </Table>

CONSOLE ERRORS

Failed to drill-down into ('BUSINESSPARTNERS CODES')/ContactEmployees/Name, invalid segment: Name - /******/BusinessPartners?$select=ContactEmployees,CardCode&$orderby=CardCode sap.ui.model.odata.v4.lib._Cache

If I change {ContactEmployees/Name} to {ContactEmployees/0/Name} they are shown but only 1 single contact, and I need to bring them all

Upvotes: 0

Views: 553

Answers (1)

fareslt
fareslt

Reputation: 198

Use the expand option in order to get the ContactEmployees of each BusinessPartners. try this :

 <Table id="idPartnerTable"
                    growing="true"
                    growingScrollToLoad="true"
                    inset="false"
                    items="{
                        path: '/BusinessPartners',
                        parameters:{
                        expand:'ContactEmployees'
                        },
                        sorter: {
                            path: 'CardCode'
                        }
                    }">

here is plunker it could help you : http://plnkr.co/edit/Q6KqSRk4kk0V81AdCrvQ?p=preview

Upvotes: 0

Related Questions