Pregunta

Tengo un DataGrid, lleno de objetos en un ArrayCollection.Después de actualizar uno de los campos de los objetos, quiero que se actualice la pantalla.La fuente de datos no se puede vincular porque la estoy construyendo en tiempo de ejecución (y todavía no entiendo cómo hacer que se pueda vincular sobre la marcha; esa es otra pregunta).

En esta situación, si llamo a InvalidateDisplayList() en la cuadrícula, parece que no sucede nada.Pero si llamo a invalidateList(), se producen las actualizaciones.(Y también es muy fluido: no hay ningún parpadeo como el que esperaría al invalidar una ventana en WIN32).

Entonces la pregunta:¿Cuál es la diferencia entre InvalidateList e InvalidateDisplayList?Según la documentación, parece que cualquiera de los dos debería funcionar.

¿Fue útil?

Solución

invalidateList le dice al componente que los datos han cambiado y que necesita recargarlos y volver a renderizarlos.

invalidateDisplayList le dice al componente que necesita volver a dibujarse (pero no necesariamente recargar sus datos).

Otros consejos

invalidateDisplayList() simplemente establece una bandera para que se pueda llamar a updateDisplayList() más tarde durante una actualización de pantalla.invalidateList() es lo que quieres.

http://livedocs.adobe.com/flex/2/langref/mx/core/UIComponent.html#invalidateDisplayList()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top