Mam dwa powiązane elementy ComboBox (kontynenty i kraje). Kiedy kontynenty zmieniają się w ComboBox, żądam XML z określonego adresu URL. Kiedy otrzymam że XML i zmienić DataProvider dla ComboBox krajach, podobnie jak to:Flex 3.5.0; Aktualizacja listy wyświetlania ComboBox po zmianie dostawcy danych
public function displayCountryArray(items:XMLList):void
{
this.resellersCountryLoader.alpha = 0;
this.resellersCountry.dataProvider = items;
this.resellersCountry.dispatchEvent(new ListEvent(ListEvent.CHANGE));
}
I wysyłają ListEvent.CHANGE bo używam go zmienić kolejny ComboBox więc proszę ignorować faktu, że (i 1 linia).
Mój problem polega na tym, że wybieram "ASIA" z pierwszych kontynentów, a następnie aktualizuję dane combobox DATA (widzę to, ponieważ pierwszy element ITEM to element z etykietą "23 kraje"). Klikam na combo, a następnie widzę kraje.
TERAZ, wybieram "Afryka", pierwszy element jest wyświetlany, z zamknięciem ComboBox, a po kliknięciu, kraje wciąż są tymi z Azji. W każdym razie, jeśli kliknę element na liście, lista zostanie zaktualizowana poprawnie, a także, że ma prawidłowe informacje (jak powiedziałem, wpływa na inne elementy ComboBox). Jedynym problemem jest to, że lista wyświetlania nie jest aktualizowana.
W tej funkcji Próbowałem te podejścia
Konwersja XMLList do XMLCollection a nawet ArrayCollection
Dodawanie this.resellersCountry.invalidateDisplayList();
Zdarzenia wyzwalające, takie jak DATA_CHANGE i UPDATE_COMPLETE Wiem, że nie mają większego sensu, ale trochę się zdesperowałem.
Należy pamiętać, że gdy użyłem SDK 3.0.0, tak się nie stało.
Przepraszam, jeśli jestem głupi, ale wydarzenia flex zabijają mnie.
przykro ale już zmieniłem GUI i nie mogę sprawdzić twojego rozwiązania. Spróbuję, jak tylko dostanę szansę i przyjmuję twoją odpowiedź. Dzięki jeszcze raz. –
zaznaczona. to działa. –
Pracowałem też dla mnie. – Konsumierer