Is this the way it has always been?
- 20 September, 6:10pm |
- jaws
He creado otro interesante Widget
.
Al widget lo he bautizado como DataGrid (ion, si se te ocurre otro nombre.. dilo
). ¿Qué hace?.... pues como todo lo que yo hago: magia.
Para los que han usado Jaws posiblemente me entiendan. Han visto que en la administración de Jaws manejamos tablas para desplegar información, que tienen accciones (editar, borrar, etc) y cada fila tiene un color diferente.. bien pues eso es un JawsDataGrid.
¿Pero entonces qué hace el mentado Widget?.. pues de nuevo: Magia. Pueden crear la lista con un objeto, agregarle encabezados, propiedad de hidden a las columnas, sort a cualquier columna y claro todo el trique de diseño para una tabla.
Veamos...
$datagrid = new JWDataGrid ("50%", $_REQUEST["orderby"], $_REQUEST["ordertype"]);
Lo que hacemos es crear el modelo (en jaws-mvc van a entender...
) y creamos un DataGrid que va a tener un tamaño de 50%, va a recibir el argumento de orderby (para ver si se tiene que ordenar con respecto a una columna) y que tipo de ordenación (ASC, DESC).
Bien... ahora veamos:
$datagrid->AddColumn ("Category", "category", true, false, "", "?otracosa=124");
$datagrid->AddColumn ("ID", "id", true, true);
Lo que hacemos es agregar tres columnas, los argumentos son como siguen: Nombre de la columna (va a aparecer a la hora de renderear el html, el campo que corresponde a un arreglo -indexeado-, se le indica si puede ser 'ordenable' (osea.. ASC, DESC), se le indica si es hidden (osea.. que nadie lo vea
), se le agrega el estilo a la columna (me di cuenta que en Jaws tenemos estilos para cada tipo de columna.. asi que se me hizo buena idea) y el otro argumento es la url.. como ven la url tiene un formato chistoso: 124, ¿qué son esas etiquetas?.. ah pues le indicamos que esa va a ser la url, pero el valor de 'otracosa' va a ser el 'id'. De esta manera la url se va generando automáticamente.
Las urls, no son las acciones propiamente.. sino 'propiedades' en forma de link para cada campo.
Los únicos campos requeridos son: el título de la columna y el dato que va a cargar, los demás son valores que se pueden tomar por default.
Bien.. ahora vienen las acciones:
$datagrid->AddAction ("Edit", "index.php?variable=pablo&variable2={category}&id=124");
Y así se manejan, van a ir en una columna especial llamada: Actions, que básicamente es el Nombre de la acción, su url y su imagen (opcional, pero si se agrega se usa la imagen y no el nombre).
Y finalmente.. los datos!
Que no es mas que un array indexeado ![]()
Y listo, para mostrarlo pues
Ahora podemos hacer listas en un dos-por-tres. ¿Qué me trajó a todo esto?.. pues me estaba aburriendo de hacer listitas para una aplicación del Tec
.
A New Machine - Pink Floyd