Tablas extensibles

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Objetos y características de diseño > Tablas >

Tablas extensibles

Las tablas extensibles funcionan de la siguiente manera:

 

En la fuente de página hay un elemento que se repite y que se asocia a la tabla extensible (ver ejemplos más abajo).
La tabla puede contener un número indeterminado de filas y de columnas.
Por cada instancia del elemento de repetición la tabla diseñada se repetirá. Por tanto, si el diseño de tabla contiene dos filas, se creará una tabla con dos filas por cada instancia del elemento de repetición de la fuente de datos.
El contenido de la tabla puede ser dinámico. Las expresiones XPath de la tabla tendrán como nodo de contexto el elemento de repetición asociado. Por cada instancia del elemento, la instancia correspondiente será el nodo de contexto de cada tabla (ver ejemplos más abajo).
La tabla puede incluir un botón Anexar/Eliminar que permita al usuario final agregar y eliminar filas. Por ejemplo, si el usuario final añade una fila, se añadirá a la estructura de la fuente de página una instancia nueva del elemento de tabla asociado. Estas modificaciones se podrán guardar en la fuente de datos. Es decir, estos botones permiten al usuario final modificar la fuente de datos.

 

Para crear y definir una tabla extensible arrastre el control Tabla hasta la posición deseada del diseño.

 

Ejemplo

La fuente de página tiene un elemento llamado Person que contiene tres elementos secundarios: First, Last y Phone. El elemento Person puede aparecer varias veces. Ahora queremos crear esta tabla:

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Como el elemento Person se repite, podemos crear una tabla extensible que esté asociada a este elemento y podemos especificar (en el cuadro de diálogo "Tabla nueva") que la tabla tiene una fila y cuatro columnas. Dentro de esta table el nodo de contexto es Person. En cada columna creamos vínculos de fuente de página con los nodos secundarios correspondiente (imagen siguiente). La primera columna contiene una expresión XPath que sirve para numerar el elemento Person actual (p. ej. count(preceding-sibling::*)+1). El diseño tendría este aspecto:

MTDTablesDynamicRowsDes01

Y la tabla que se genera tendría este aspecto:

MTDTablesDynamicRowsSim01

Nota:puede generar una secuencia de datos a partir de una expresión XPath/XQuery y utilizarla como fuente de datos. Sin embargo, este tipo de fuente de datos se crea solamente para dicho uso y no estará disponible como fuente de página en ninguna otra posición del documento.

 

Diferencia entre una tabla extensible y una tabla con filas dinámicas

Una tabla extensible no es lo mismo que una tabla con filas dinámicas:

 

En una tabla extensible la tabla entera está asociada a la estructura de datos de repetición. Por cada instancia de la estructura de datos se genera una tabla nueva.
En una tabla con filas dinámicas hay un grupo de filas que está asociado a la estructura de datos de repetición.

 

 

Estas diferencias tienen dos efectos en el diseño:

Una tabla con filas dinámicas puede tener un encabezado y un pie de tabla que se aplica a toda la tabla. Es decir, es el encabezado o el pie de la tabla. Si necesita un encabezado o un pie de tabla para una tabla extensible, puede añadirlos a mano fuera de la tabla extensible. Si los añade dentro de la tabla extensible, el encabezado o pie se repetirá con cada tabla por cada instancia del elemento de repetición.
En los dispositivos las tablas se suelen presentar entre dos bloques de espacios. Esto significa que las tablas extensibles contendrán espacio vertical entre los pares de tablas repetidas.

 

Para convertir una tabla estática en una tabla extensible cambie el valor de su propiedad Extensible por el valor true y después asocie la tabla a un elemento de repetición de una fuente de página.

 

Crear una tabla extensible

 

1.En el cuadro de diálogo "Tabla nueva" que aparece cuando se coloca el control Tabla en el diseño (imagen siguiente), marque la casilla Tabla extensible. Por cada instancia de la fila de datos de repetición se crea una instancia nueva de la tabla.

Haga clic para expandir/contraer

2.Especifique el número de columnas y filas estáticas que tendrá la tabla extensible. Más adelante podrá agregar columnas y filas con los comandos del menú contextual de la tabla.
3.Indique si se deben añadir controles Anexar/Eliminar automáticos. Si se añaden, cada tabla extensible de la solución (que en realidad son filas) tendrá un botón Eliminar y toda la estructura de la tabla extensible tendrá un botón Anexar para anexar tablas extensibles (es decir, filas) a la estructura. Veamos un ejemplo en la simulación de una solución:

MTDDBCSimulator01Cropped

4.Haga clic en Aceptar para terminar y agregar la tabla al diseño. La tabla extensible debe tener asociado un elemento de repetición de la fuente de página (imagen siguiente).

MTDTablesDynamic01

5.Cree una asociación entre un elemento de repetición y la tabla extensible. Esto se hace arrastrando el elemento correspondiente desde el panel Fuentes de página hasta la tabla.
6.Ahora puede agregar el contenido a las celdas de la tabla. El nodo de contexto para las expresiones XPath situadas dentro de celdas de una tabla es el nodo de elemento que está asociado a la tabla extensible (ver paso anterior). Para poder usar el nodo de contexto las expresiones XPath de las celdas de la tabla deben ser relativas al nodo de contexto. El contenido de la celda puede ser una tabla anidada (estática o dinámica), un control de página (con o sin un vínculo a un nodo de la fuente de página) o incluso nodos de la fuente de página. Si arrastra y coloca un nodo de la fuente de página dentro de una celda, los datos de la celda serán editables. Por ejemplo, en el diseño que aparece a continuación se añadieron cuatro controles (de izquierda a derecha): una etiqueta, un campo de edición, otra etiqueta y otro campo de edición.

MTDDBCTableRepeating02
 

Esta tabla extensible produce esta estructura extensible en la solución de MobileTogether.
 
MTDDBCSimulator01Cropped

Para modificar la estructura de la tabla utilice los comandos del menú contextual de la tabla. Por otro lado, puede configurar las propiedades de formato de la tabla en el panel Estilos y propiedades. Consulte también los apartados Filas dinámicas y Columnas dinámicas.

 


© 2019 Altova GmbH