Flex-3.5.0; Update ComboBox-Liste anzeigen nach dataprovider ändern

Ich habe zwei Verwandte ComboBoxes ( Kontinente und Länder ). Wenn die Kontinente ComboBox änderungen, die ich Anfrage eine XML-Datei aus einer bestimmten URL. Wenn ich das XML ändere ich den DataProvider für die Länder, die ComboBox, wie diese:

public function displayCountryArray( items:XMLList ):void
        {
            this.resellersCountryLoader.alpha = 0;
            this.resellersCountry.dataProvider = items;
            this.resellersCountry.dispatchEvent( new ListEvent( ListEvent.CHANGE ) );
        }

Ich versende die ListEvent.ÄNDERN, weil ich es verwenden, um zu ändern, eine andere ComboBox-also bitte ignorieren (und die 1. Zeile ).

So, mein problem ist Folgendes: wähle ich "ASIEN" von der ersten Kontinente, dann wird die combobox-DATEN aktualisiert ( ich kann sehen, dass da das erste ELEMENT ist ein Element mit der Bezeichnung '23 Länder ). Ich klicke auf das Kombinationsfeld, dann kann ich sehen, dass die Länder.

NUN wähle ich "Afrika", wird das erste Element angezeigt, mit der ComboBox geschlossen, dann wenn ich es auf die Länder sind immer noch die, die aus Asien. Wie auch immer, wenn ich auf ein Element in der Liste, dann wird die Liste richtig aktualisiert, und auch, es hat die korrekte info ( wie ich schon sagte, es wirkt sich auf andere ComboBoxes ). SO das problem ist nur, dass die display-Liste wird nicht aktualisiert.

In dieser Funktion versuchte ich, diese Ansätze

  • XMLList-Objekt konvertieren, um XMLCollection und sogar ArrayCollection
  • Hinzufügen.resellersCountry.die invalidateDisplayList();
  • Auslösende Ereignisse wie DATA_CHANGE und UPDATE_COMPLETE
    Ich weiß, dass Sie nicht viel Sinn, aber ich habe ein wenig verzweifelt.

Bitte beachten Sie, dass, wenn ich 3.0.0 SDK ist dies nicht geschehen.

Sorry, wenn ich dumm bin, aber die flex-Veranstaltungen werden mich töten.

InformationsquelleAutor Gabriel Poama-Neagra | 2010-03-30

Schreibe einen Kommentar