2012-03-01 2 views
0

J'utilise actuellement le code suivant dans Flash Builder pour retourner une liste de variables à partir d'un fichier XML:Peupler une liste déroulante dans Flash Builder

[Bindable] private var I_Authors:ArrayCollection = new ArrayCollection(); 

      private function init():void { 
       var param:Object = new Object(); 
       param.action = "getAuthorXML"; 
       authorService.send(param); 
      } 

protected function authorService_resultHandler(event:ResultEvent):void 
      { 
       I_Authors = event.result.authors.author; 
      } 

Mon problème se sert de ces données dans un menu déroulant liste. Je n'ai aucun problème à le mettre dans une grille de données en utilisant dataProvider="{I_Authors}" et dataField="ID" etc., mais toutes les tentatives que j'ai faites pour mettre un champ spécifique (ID) dans une liste déroulante ont abouti à "object Object".

Je commence tout juste avec Flash Builder, donc c'est probablement une question de base, mais tous les tutoriels que j'ai suivis sur le site Web d'Adobe ne semblent pas être utiles.

Apprécierait n'importe quel conseil.

Répondre

0

Il se trouve que vous utilisez labelField="", juste au cas où quelqu'un d'autre est un peu confus à ce sujet.

<s:DropDownList id="dropdownList" dataProvider="{________}" labelField="________"></s:DropDownList> 
0

Le problème est "auteur" est un objet.

Lorsque vous obtenez vos résultats de authorService vous recevez un objet

I_Authors = event.result.authors.author;

Vous avez donc un tableau d'objets.

Vous voulez probablement obtenir la propriété de votre objet, par exemple .: author.ID

I_Authors = event.result.authors.author.ID;

Vous avez donc un tableau d'identifiant d'auteur.

dataProvider = I_Authors

Permettez-moi de savoir si ce n'était pas claire et vous avez besoin d'explications.