2010-04-07 6 views
0

J'ai un tableau associatif que je veux afficher en utilisant TileList. Cependant, il ne comprend pas ce qui lui est donné. Tout ce que j'ai est [objet] dans la liste des tuiles.Flex TileList avec tableau associatif

[bindable] 
public var people as array = new array(); 

private function loadArray():void{ 
people = decoded JSON array 
showPeople.dataProvider = people;} 

<mx:Tilelist id="showPeople" labelField="{data.name}" iconField="{data.imgURL}"/> 

J'ai essayé d'utiliser la mx: itemRender mais elle ne rendra un et un seul élément, à savoir soit la chaîne du nom ou l'image de l'URL de la personne. L'objectif final est de faire en sorte que TileList affiche l'image d'une personne en utilisant l'URL du tableau avec son nom comme étiquette. Toute suggestion?

Et le tableau ressemble à ceci 'name' => chaîne de nom 'img' => string d'une personne de l'URL img

+0

Que voulez-vous dire [objet]? Êtes-vous sûr que le tableau JSON a été décodé correctement? – CookieOfFortune

Répondre

0

Vous devez utiliser un moteur de rendu d'élément personnalisé, comme celui-ci:

<mx:itemRenderer> 
    <mx:Component> 
    <mx:HBox> 
     <mx:Text width="100" height="100" text="{data.name}"/> 
     <mx:Image width="100" height="100" source="{data.imgURL}"/> 
    </mx:HBox> 
    </mx:Component> 
</mx:itemRenderer> 

de cette façon, vous pouvez personnaliser vos éléments de liste que vous le souhaitez.

+0

Quand j'ai dit [Object], je voulais dire littéralement qu'il présentait les mots "[Object]" dans le panneau où réside la Tilelist. La réponse de Cornel a fonctionné parfaitement. – MooCow