6 de agosto de 2009

Mantener el selectedIndex en una lista

Desarrollando una aplicación tipo correo electrónico me di cuenta que las listas en Flex no mantienen el índice seleccionado cuando el dataProvider obtiene nuevos datos.. por ejemplo: El inbox chequea en el servidor cada 10 minutos. Cuando llega esa respuesta se refresca la lista y nuevamente el selectedIndex es –1. Buscando por ahí (como siempre) leí que hay que escuchar el evento updateComplete() de la lista, guardar el índice seleccionado y listo, el único problema que puede ocurrir es que si los datos que llegan a la lista son más grandes puede haber problemas con el índice guardado. Allí podríamos hacer es guardar todo el objeto seleccionado y usando IViewCursor podríamos buscarlo.

private function onUpdateComplete(event:FlexEvent):void {       
     
     var dg:DataGrid = event.currentTarget as DataGrid;                      
     mailBoxGrid.selectedIndex = lastRollOverIndex;
}

 

lastRollOverIndex es una variable que modifico cada vez que hay un evento itemClick o change en la lista; el change por que si cambias el item con el teclado lastRollOverIndex va a tener el mismo valor.

<mx:DataGrid id="mailBoxGrid"  dataProvider="{mailBoxData}"
             change="onItemChange(event)"
             itemClick="onItemClick(event)"
             updateComplete="onUpdateComplete(event)">

Lista con scroll suavizado. SmoothScrollingList

Hey,.. habían notado que las listas en Flex pasan de acuerdo al tamaño del itemRenderer?? No hace scroll como normalmente es un scroll.. bueno, encontré un componente que hace smoothScrolling.. aquí el ejemplo

Allí el botón para descargar el proyecto.

5 de agosto de 2009

Rhonda: Herramienta de Dibujo 3D



Un compañero de trabajo me pasó este link http://rhondaforever.com/ hace poco.. no se con que está desarrollado pero es realmente sorprendente.