2017-03-22 4 views
0

Ich versuche, ein verschachteltes Array an eine Liste in einer Tabelle zu binden.Binden eines verschachtelten Arrays an eine Liste in einer Tabelle

{ 
    "activities": [{ 
      "activityId": "1", 
      "activityName": "tennis", 
      "activityHours": [{ 
       "hour": "09:00", 
       "instructor": "dave" 
      }, { 
       "hour": "10:00", 
       "instructor": "Emma" 
      }] 
     }, { 
      "activityId": "2", 
      "activityName": "swimming", 
      "activityHours": [{ 
       "hour": "09:00", 
       "instructor": "Ella" 
      }, { 
       "hour": "10:00", 
       "instructor": "Ron" 
      }] 
     } 

    ] 

} 

mein view.xml Code:

<Table id="tblFactories" items="{path: 'data>/activities'}"> 
    <items> 
<ColumnListItem > 
<cells> 
<Text text="{data>activityName}"></Text> 
<List items="{path: 'data>/activityHours'}" > 
<StandardListItem title="{data>hour}" ></StandardListItem> 
</List> 
    </cells> 
</ColumnListItem> 
</items> 
</Table> 

aber es funktioniert nicht. weiß jemand, was ist die korrekte Syntax für die List-Bindung?

Danke!

Antwort

0

In Ihrem XML-Code ist der Pfad falsch. Für die Liste ist activityHours eine Eigenschaft des übergeordneten Objekts, daher sollten Sie das '/' entfernen. Für die Liste wird der Kontext wie folgt aussehen.

enter image description here

<Table id="tblFactories" items="{data>/activities}"> 
    <columns> 
     <Column> 
      <Text text="Activity Name" /> 
     </Column> 
     <Column> 
      <Text text="Hours" /> 
     </Column> 
    </columns> 
     <items> 
      <ColumnListItem > 
      <cells> 
        <Text text="{data>activityName}"></Text>       
        <List items="{data>activityHours}" > 
        <StandardListItem title="{data>hour}" ></StandardListItem> 
        </List>       
      </cells> 
      </ColumnListItem> 
     </items> 
    </Table> 
Verwandte Themen