====== wArrayBrowse ====== Con wArrayBrowse podemos crear una tabla browse de solo lectura, esta basado el las tablas HTML con las propiedades que le añade Materialize y un poco de "tuneado" por nuestra parte. Admite un array (aItems) con los datos a presentar y otro con las comunas (aCols) pero en este caso lo que definimos es el aspecto de cada columna y la cabecera de ellas, para esto crearemos controles [[controles:wItemColBrowse]] donde podremos definirlas. También podemos crearle pies a las columnas que compartirán aspecto con las cabeceras con el array aFooter. Con [[propiedades:cOnClick]] podemos definir un Función de nuestra App que sera llamada al picar con el ratón en cualquiera de las celdas, desde nuestra App recuperamos la linea en la que se ha picado leyendo el Parámetro que corresponde al cId del wArryBrowse, en caso de usar la llamada por Ajax también nos devolverá [[propiedades:nRowId]] con la linea seleccionada. Como todos los controles que permiten eventos, se puede utilizar [[propiedades:aParams]] para añadir más parámetros y sus valores al generar el evento. ===== Ejemplo de uso ===== {{url>https://samples.nefele.dev/wiki/warraybrowse 100%,300px}} WITH OBJECT WArrayBrowse():New(oPanel) :cId := "Bancos" // Id que le damos al ArrayBrowse :nStyle := xc_Striped // Estilo visual, con pautado pijama :cClrHeadPane := "red lighten-4" // Le damos color a las cabeceras :cOnClick := "VisParam" // En caso de picar en un elemento del ArrayBrowse // Añadimos Columnas WITH OBJECT :AddCol("Código") AS wItemColBrowse :cClrPane := "blue darken-1" // Puedo darle color al fondo de la columna :cClrText := "white" // Y al Texto END WITH WITH OBJECT :AddCol("BIC") AS WItemColBrowse :lBold := .T. // Podemos asignar la letra en Negrita END WITH :AddCol("Entidad",,xc_Left) // Le alimentamos datos directamente de la consulta :aItems := AsciiHTML(aConsulta) // Estos datos se han extraído de una consulta SQL a MariaDB // Y creamos el ArrayBrowse :Create() END WITH LOCAL nLin := Val( oCGI:GetCgiValue("bancos",0) ) ---- ===== Propiedades ===== ^Nombre ^Init ^Descripción ^Versión ^ |aCols | | Array de [[controles:wItemColBrowse]] | 0.1| |aFooter| | Crea una fila al final con el color de la cabecera {"Pie1","Pie2",...) | 0.1| |aItems| | Array de datos a presentar { {Col1,Col2,ColX},{Col1,Col2,ColX} } | 0.1| |cClrHeadPane| | Color del la Cabecera y del Pie | 0.1| |cClrHeadText| | Color del Texto de la Cabecera y del Pie | 0.1| |cCursor| "pointer" | [[https://www.w3schools.com/cssref/pr_class_cursor.asp|Cursor]] al colocar ratón, solo si hay [[propiedades:cOnClick]] | 0.1| |cTextNoData| "No hay Datos" | Texto que aparece cuando el aItems esta vació | 0.1| |lResponsive| | Habilita la tabla como resposive para los móviles | 0.1| |nFontSizeHead| 6 | Tamaño de la Fuente de la Cabecera y el Pie según [[https://materializecss.com/typography.html|Materialize]] | 0.1| |nIndexValue| 0 | Columna a retornar el valor al hacer click (0 para el nº de fila ) | 0.1| |nStyle| [[nefele:constantes#nStyle para wArrayBrowse|xc_NoStyle]] | Tipo de Tabla xc_Striped (pijama) ó xc_Highlight (resaltada al seleccionar) | 0.1| ===== Metodos ===== ^Nombre ^Descripción ^Versión ^ |[[metodos:warraybrowse:addcol|AddCol]]| Permite añadir elementos a aCols | 0.1| |AddRow| Permite añadir una fila a aItems | 0.1| ===== Hereda de... ===== ====== wControl ====== {{page>controles:wcontrol#propiedades}} {{page>controles:wcontrol#metodos}} ~~DISCUSSION|Comentarios wArrayBrowse~~ /*{{tag>[nefele primeros-pasos]}}*/