2009-08-18 7 views
0

J'utilise un contrôle de zone de liste déroulante et le fournisseur de données est défini comme XML. Une fois le fournisseur de données défini, je souhaite modifier le texte de la première option et également insérer un élément dans la deuxième position.Flex Combobox - Modifier/Supprimer une option

Comment est-ce que je peux faire ceci? Utiliser un ItemRenderer? S'il vous plaît donner vos suggestions.

+0

http://stackoverflow.com/questions/1229752/flex-special-casing-an-item-in-a-list-or-menu/ –

Répondre

0

Vous devez éditer le fournisseur de données lui-même. Faites-en un ArrayCollection (ou autre chose qui implémente IList) et votre liste déroulante sera automatiquement mise à jour lorsque vous apportez des modifications. Assurez-vous également que la collection de tableaux est pleine d'objets pouvant être liés.

Changer ArrayCollection est facile. Vous pouvez simplement dire dataProvider.getItemAt(0).labelProperty = "whatever" - ceci suppose que vous avez un objet avec une propriété de "labelProperty" et que le labelField de votre liste déroulante est défini dessus.

Pour ajouter un article il suffit d'utiliser dataProvider.addItemAt(item, 1)

+0

Mon dataprovider est un XML. myXML.xmltree [0] = "Valeur modifiée"; m'a aidé à changer la valeur du premier objet. Mais la méthode insertChildAfter() ne fonctionne pas. Les nœuds ne sont simplement pas insérés dans le XML principal. Des idées? – jobinbasani

Questions connexes