jeudi 1 janvier 2009

[flex] Remplir un DataGrid à partir d'une liste

1. Soit une ArrayCollection nommée "maCollec" dont les valeurs ressemblent à ça :
<mx:Object az="1" nom="Afghanistan" region="ASIE PACIFIQUE" classement="161" resultat="51,08" ips="65,53" iedd="63,84" iddh="46,12" devdur="51,04" devhumain="28,89" />
<mx:Object az="2" nom="Afrique du sud" region="AFRIQUE" classement="124" resultat="59,27" ips="73,85" iedd="31,48" iddh="75,79" devdur="63,02" devhumain="52,22" />


2. Soit une liste qui affiche uniquement l'attribut "pays" de l'ArrayCollection (notez la présence de click):
<mx:List id="liste" dataProvider="{maCollec}" labelField="nom" click="onSelect()" />

3. Soit un DataGrid classique, d'une ligne : lorsque je clique sur un item de la liste, je veux que les valeurs de cet item s'affichent dans la ligne du DataGrid. La fonction pour que la magie opère :
//fonction pour afficher les données d'un pays sélectionné dans la liste
private function onSelect():void {
var selectedItem : Object = liste.selectedItem;
resultats.dataProvider = selectedItem; }

0 commentaires: