Ich habe zwei verwandte Combobox (Kontinente und Länder). Wenn sich die Contino ComboBox ändert, fordere ich eine XML von einer bestimmten URL an. Als ich das XML empfangen ändern i die Datenprovider für die ComboBox Länder, wie folgt aus:Flex 3.5.0; Aktualisieren ComboBox Anzeigeliste auf DataProvider- Änderung
public function displayCountryArray(items:XMLList):void
{
this.resellersCountryLoader.alpha = 0;
this.resellersCountry.dataProvider = items;
this.resellersCountry.dispatchEvent(new ListEvent(ListEvent.CHANGE));
}
ich die ListEvent.CHANGE versenden, weil ich es verwenden, um einen anderen ComboBox zu ändern, bitte ignorieren (und die erste Zeile).
Also, mein Problem ist das: Ich wähle "ASIA" aus den ersten Kontinenten, dann wird die Combobox DATA aktualisiert (das kann ich sehen, weil das erste ITEM ein Item mit dem Label '23 countries 'ist). Ich klicke auf die Combo, dann kann ich die Länder sehen.
NOW, wähle ich „Afrika“, das erste Element angezeigt wird, mit der ComboBox geschlossen wird, dann, wenn ich es klicken, sind die Länder immer noch die, die aus Asien. Wie auch immer, wenn ich einen Artikel in der Liste klicken, dann aktualisiert die Liste richtig, und auch, es hat die richtigen Informationen (wie ich sagte, es andere Combobox betrifft). SO das einzige Problem ist, dass die Anzeigeliste nicht aktualisiert wird.
In dieser Funktion habe ich versucht, diese Ansätze
Konvertieren von XMLList zu XMLCollection und sogar Arraycollection
this.resellersCountry.invalidateDisplayList Hinzufügen();
Auslösende Ereignisse wie DATA_CHANGE und UPDATE_COMPLETE Ich weiß, dass sie nicht viel Sinn machen, aber ich habe ein wenig verzweifelt.
Bitte beachten Sie, dass dies nicht passiert ist, als ich 3.0.0 SDK verwendet habe.
Sorry, wenn ich dumm bin, aber die Flex-Ereignisse bringen mich um.
Leider aber ich habe bereits die GUI geändert und kann Ihre Lösung nicht überprüfen. Ich werde es versuchen, sobald ich die Chance habe und deine Antwort akzeptiere. Danke noch einmal. –
überprüft. es funktioniert. –
Arbeitete auch für mich. – Konsumierer