Casilla de verificación en Flex Datagrid rota en desplazamiento

votos
0

Tengo una casilla de verificación en un Flex DataGrid, y cuando me desplazo, otras filas se activan / desactivan al azar.

Después de leer más: Creación de una columna de RadioButtons en Adobe Flex

Está claro que los recicladores de ítems se reciclan, pero el problema que tengo con la solución presentada es que mueve información sobre la vista al modelo.

¿Alguien tiene una mejor manera de resolverlo, eso no me obliga a poner información para la interfaz de usuario en mis clases modelo de ActionScript? (En mi caso, estoy convirtiendo datos XML entrantes en clases actionscript, y estos se están vinculando a mi cuadrícula de datos).

Gracias por la ayuda.


gracias a todos. buenos consejos desafortunadamente se estaba volviendo demasiado alto para mantener el modelo puro, así que solo contaminé el modelo como el enlace en mi publicación original. :( al menos funciona.

Chetan, buena idea ... intenté trabajar con esto durante casi todo un día sin suerte.

brd6644, buenas ideas para separar las dos clases de modelos ... podría volver y hacer esto más tarde.

Publicado el 28/07/2009 a las 23:18
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Podría crear una subclase de DataGrid que almacena internamente las filas que están marcadas / desmarcadas (Array / Collection of Boolean), pero tendría un diablo de tiempo sincronizándolo con el dataProvider cuando está ordenado o filtrado. Supongo que podría usar un diccionario codificado por el objeto en cada índice del proveedor de datos y valorado con un booleano para indicar si está seleccionado. Eso al menos lo aislaría de los problemas de clasificación / filtrado. Esto no funcionará si tiene referencias duplicadas en su dataProvider.

Alternativamente, podría crear una subclase de su clase de modelo de ActionScript y agregarle la propiedad "seleccionada", luego escribir algunos métodos simples de utilidad para "convertir" entre los dos. De esta forma, su Vista solo se ocupa de la clase "ViewModel" y de otras capas (especialmente del lado del servidor) solo se ocupa de la clase real "Modelo".

Respondida el 29/07/2009 a las 00:37
fuente por usuario

votos
0

Agregando a lo que dijo cliff.meyers, hay una tercera opción de crear una clase IList personalizada como se describe en esta publicación de blog por Alex Harui. Es bastante inteligente en realidad, y es más limpio, ya que no requiere subclasificar el componente ni contaminar las clases de su modelo.

Respondida el 29/07/2009 a las 01:35
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more