Tengo dos ComboBoxes relacionadas (continentes y países). Cuando los continentes ComboBox cambian, solicito un XML de una URL determinada. Cuando recibo que XML cambio el DataProvider para el ComboBox países, como esto:Flex 3.5.0; Actualice la lista de visualización de ComboBox al cambiar el proveedor de datos
public function displayCountryArray(items:XMLList):void
{
this.resellersCountryLoader.alpha = 0;
this.resellersCountry.dataProvider = items;
this.resellersCountry.dispatchEvent(new ListEvent(ListEvent.CHANGE));
}
que despachar la ListEvent.CHANGE porque yo lo uso para cambiar otra ComboBox así que por favor ignorar que (y la primera línea).
Entonces, mi problema es este: selecciono "ASIA" de los primeros continentes, luego se actualiza el cuadro combinado DATA (puedo verlo porque el primer ITEM es un artículo con la etiqueta "23 países"). Hago clic en el combo para ver los países.
AHORA, selecciono "África", se muestra el primer elemento, con el ComboBox cerrado, y cuando hago clic en él, los países siguen siendo los de Asia. De todos modos, si hago clic en un elemento en la lista, la lista se actualiza correctamente y también tiene la información correcta (como ya he dicho, afecta a otros ComboBox). ASÍ, el único problema es que la lista de visualización no se actualiza.
En esta función me trataron estos enfoques
Conversión XMLList a XMLCollection e incluso ArrayCollection
Adición this.resellersCountry.invalidateDisplayList();
Disparando eventos como DATA_CHANGE y UPDATE_COMPLETE Sé que no tienen mucho sentido, pero me puse un poco desesperado.
Tenga en cuenta que cuando usé 3.0.0 SDK esto no sucedió.
Lo siento si soy estúpido, pero los eventos de flex me están matando.
lo siento, pero ya cambié la GUI y no puedo verificar su solución. Lo intentaré tan pronto como tenga la oportunidad y aceptaré tu respuesta. Gracias de nuevo. –
marcado. esta funcionando. –
Funcionó para mí, también. – Konsumierer