AlexdwBlog() Desarrollo web, actionscript, javascript y algo más…

31ago/060

GridEditor 1.0

Después del post sobre el uso de remoting para realizar consultas a bases de datos se me ocurrió que en numerosas ocasiones necesitamos cargar datos pero no deseamos que aparezcan en el Datagrid. En nuestro caso podríamos desear que no apareciese el dato usuarioID, pero este es necesario que lo tengamos para posteriormente poder eliminar el registro.

Para ello me he creado una pequeña clase que se encarga de manejar el datagrid para estos menesteres.
Las clase en si es la siguiente:

class utiles.GridEditor{
private var __grid:MovieClip
private var __columnas_arr:Array
private var __columnasInit_arr:Array
public function GridEditor (_dg:MovieClip) {
__grid=_dg
__columnasInit_arr=__grid.columnNames
}
private function indiceColumna(_s:String,_tipo:String):Number {
var c:Array
_tipo=="init" ? c =__columnasInit_arr : c=__columnas_arr
for (var a in c){ if (c[a]==_s) return Number(a); }
}
public function visibilidad(_columna:String,_valor:Boolean){
__columnas_arr=__grid.columnNames
if (_valor){
if (__grid.getColumnIndex(_columna)==undefined) __grid.addColumnAt(indiceColumna(_columna,"init"),_columna)
}else{
if (__grid.getColumnIndex(_columna)!=undefined) __grid.removeColumnAt(indiceColumna(_columna))
}
}
}

El uso de la clase es realmente sencillo. Inicialmente debemos crear una instancia de nuestra clase pasándole como único parámetro del constructor el nombre de instancia de nuestro datagrid

Después utilizaremos el método visibilidad() donde pasaremos como parámetros el nombre de la columna que queremos editar y el estado de esta (true=visible, false=invisible).

Ahora un toque de atención a los chicos de adobe… ¿porque el componente datagrid no tiene este comportamiento tan básico?… a veces parece que hasta las macro-empresas dejan flecos en sus productos… pero en fin, pasa en las mejores familias

¿Te gustó este artículo?

¡Suscríbete a nuestro feed RSS!

Archivado en: AS2 Deja un comentario
Comentarios (0) Trackbacks (0)

Aún no hay comentarios.


Leave a comment

(required)

Aún no hay trackbacks.