2008-09-16 15 views
10

Tengo un DataGrid, poblado con objetos en un ArrayCollection. Después de actualizar uno de los campos de los objetos, quiero que la pantalla se actualice. La fuente de datos no es enlazable, porque la estoy construyendo en tiempo de ejecución (y no entiendo cómo hacerla enlazable sobre la marcha todavía; esa es otra pregunta).¿cuál es la diferencia entre invalidateList e invalidateDisplayList?

En esta situación, si llamo a InvalidateDisplayList() en la cuadrícula, nada parece suceder. Pero si llamo a invalidateList(), las actualizaciones suceden. (Y también es muy sencillo, no parpadea como esperaba al invalidar una ventana en WIN32.)

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

Respuesta

18

invalidateList le dice al componente que los datos han cambiado, y que necesita para recargar y volver a hacerla.

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

+0

Hay una función similar para ActionScript para actualizar un clip de película/sprite. Por ejemplo, después de cambiar un modo de mezcla en tiempo de ejecución. El clip no se actualiza automáticamente. –

+0

Fahim; No, estos son métodos específicos de Flex. –

Cuestiones relacionadas