4.8 Datatable
Componente de tabla, utilizado para organizar y presentar conjuntos de datos tabulares de manera estructurada y visualmente efectiva.
Este componente está asociado a un repositorio definido en "repo", lo que permite la vinculación directa de datos.
Además, presenta funcionalidades como la capacidad de filtrar y ordenar los datos según criterios predefinidos, lo que mejora la eficiencia en la búsqueda y visualización de información.
La personalización del número de filas visibles y la selección de propiedades de entidad contribuyen a adaptar el datatable a diversas necesidades de presentación y contenido.
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| Comunes | id | null | String | Identificador único del componente. Si no tiene id, se le asigna con nomenclatura ${tag}${num}. |
| render | true | Boolean o JEXLExpression | Expresión EL para evaluar si el componente debe mostrarse. | |
| onBeforeRender | null | String | Método JS a ejecutar antes de que el componente actual sea renderizado. | |
| onAfterRender | null | String | Método JS que se ejecutará una vez renderizado el componente actual. | |
| action | null | String | Identificador de la acción a realizar cuando el usuario interactúa con este componente. | |
| allowsPartialRestore | false | Boolean | Si el estado del componente actual debe restaurarse cuando el usuario vuelva a la vista. | |
| repo | null | String | Identificador del repositorio utilizado para recoger los datos. | |
| numVisibleRows | null | Integer | Número de filas visibles. En caso de existir más registros se mostrará la barra de desplazamiento vertical. | |
| properties | null | String | Lista separada por comas de propiedades de entidad para definir el conjunto de campos del formulario. | |
<datatable id="datatableProvincia" repo="provinciaRepo" numVisibleRows="5" properties="c_provincia_id, d_provincia">
</datatable>

4.8.1 Column
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| Comunes | id | null | String | Identificador único del componente. Si no tiene id, se le asigna con nomenclatura ${tag}${num}. |
| render | true | Boolean o JEXLExpression | Expresión EL para evaluar si el componente debe mostrarse. | |
| onBeforeRender | null | String | Método JS a ejecutar antes de que el componente actual sea renderizado. | |
| onAfterRender | null | String | Método JS que se ejecutará una vez renderizado el componente actual. | |
| action | null | String | Identificador de la acción a realizar cuando el usuario interactúa con este componente. | |
| allowsPartialRestore | false | Boolean | Si el estado del componente actual debe restaurarse cuando el usuario vuelva a la vista. | |
| value | null | String o JEXLExpression | Expresión EL para calcular el valor del componente. | |
| headerText | null | String | Etiqueta para el encabezado de la columna. | |
| filtering | Boolean | Si es true los datos del datatable podrán ser filtrados por el valor aportado en esta columna. | ||
| ordering | Boolean | Si es true los datos del datatable podrán ser ordenados descendente o ascendente por esa columna. | ||
4.8.1.1 Filter
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| property | null | String | Campo de la entidad por la que se va a filtrar. | |
| matching | String | Tipo de relación: ”eq | le | gt | contains”. | ||
| valueExpression | String o JEXLExpression | Valor con el que se realizará el filtrado. | ||
4.8.1.2 Order
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| property | String | Campo de la entidad por el que se va a ordenar. | ||
4.8.2 Repofilter
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| id | null | String | Identificador único del componente. Si no tiene id, se le asigna con nomenclatura ${tag}${num}. | |
La etiqueta repoFilter no tiene atributos, la expresión se define anidando etiquetas de predicado como and|or|.
- Operadores: EQ, LT, GT, LE, GE, IN, NOT_IN, IS_NULL, NOT_NULL, LIKE, CONTAINS, STARTS_WITH, ENDS_WITH.
- Criterios: and, or
| Atributo | Valor por defecto | Tipo | Descripción | |
|---|---|---|---|---|
| property | null | String | Nombre de la propiedad de la entidad utilizada para filtrar los resultados. | |
| mandatory | false | Boolean | Un operador puede incluir el parámetro “mandatory=True” para indicar que la consulta no se puede ejecutar si ese valor no está disponible. | |
| value | null | String o JEXLExpression | Expresión EL utilizada como valor. | |
<datatable id="datatableProvincia2" repo="provinciaRepo" numVisibleRows="5">
<column id="column_c_provincia_id" headerText="Cod. Provincia" filtering="true" ordering="true" value="${entity.c_provincia_id}">
<filter property="c_provincia_id" matching="contains" valueExpression="${this.column_c_provincia_id}"/>
<order property="c_provincia_id"/>
</column>
<column id="column_d_provincia" headerText="Provincia" filtering="true" ordering="true" value="${entity.d_provincia}">
<filter property="d_provincia" matching="contains" valueExpression="${this.column_d_provincia}"/>
<order property="d_provincia"/>
</column>
</datatable>
<datatable id="datatableProvincia3" repo="provinciaRepo" numVisibleRows="5">
<column headerText="Cod. Provincia" filtering="false" ordering="false" value="${entity.c_provincia_id}"/>
<column headerText="Provincia" filtering="false" ordering="false" value="${entity.d_provincia}"/>
<repofilter>
<le property="c_provincia_id" value="9"/>
</repofilter>
</datatable>
