2009-08-18 3 views
0

Ich verwende ein Kombinationsfeld Steuerelement und der Datenprovider wird als XML festgelegt. Nachdem der Datenprovider festgelegt wurde, möchte ich den Text der ersten Option bearbeiten und auch ein Element an der zweiten Position einfügen.Flex Combobox - Bearbeiten/Löschen einer Option

Wie kann ich das tun? Verwenden eines ItemRenderer? Bitte geben Sie Ihre Vorschläge.

+0

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

Antwort

0

Sie sollten den DataProvider selbst bearbeiten. Machen Sie es zu einer ArrayCollection (oder etwas anderem, das IList implementiert) und Ihre Combobox wird automatisch aktualisiert, wenn Sie Änderungen vornehmen. Stellen Sie außerdem sicher, dass die Array-Auflistung voll bindbarer Objekte ist.

Das Ändern der ArrayCollection ist einfach. Sie können einfach dataProvider.getItemAt(0).labelProperty = "whatever" sagen - dies setzt voraus, dass Sie ein Objekt mit der Eigenschaft "labelProperty" haben und das labelField Ihrer Combobox darauf gesetzt ist.

Hinzufügen nur ein Element verwenden dataProvider.addItemAt(item, 1)

+0

My Dataprovider ist ein XML. myXML.xmltree [0] = "Geänderter Wert"; hat mir geholfen, den ersten Wert zu ändern. Aber die Methode insertChildAfter() funktioniert nicht. Die Knoten werden einfach nicht in die Haupt-XML eingefügt. Irgendwelche Ideen? – jobinbasani