Altova MobileTogether Designer

Tabla dinámica con filas extensibles

Inicio Anterior Inicio Siguiente

Las tablas dinámicas filas extensibles funcionan de la siguiente manera:

 

Una fila extensible está asociada a un elemento de la fuente de página que se repite.

Cuando se presenta la tabla en pantalla, su número de filas coincidirá de forma dinámica con el número de instancias del elemento de repetición. Cada fila de la tabla corresponderá a una instancia del elemento de repetición.

Cuando defina la tabla dinámica con filas extensibles, podrá especificar cuántas filas se repetirán por cada instancia del elemento. Por ejemplo, podrá especificar que cada grupo de filas extensibles contenga dos filas. En este caso, por cada instancia del elemento se genera todo el grupo de filas de dos filas. Dado que la unidad de la tabla que corresponde al elemento extensible de datos puede contener más de una fila, nos referimos a esta unidad como grupo de filas de tabla. Es decir, más precisamente, que se trata del grupo de filas que se repite.

El nodo contextual de cada grupo de filas será la instancia específica del elemento extensible en la fuente de datos.

Puede agregar un control Anexar/Eliminar a la tabla. Gracias a este control el usuario final podrá agregar un nuevo grupo de filas o eliminar grupos de filas individuales. Se eliminará o añadirá a la estructura una instancia nueva del elemento de datos extensible. El usuario final puede guardar cada modificación en la fuente de datos.

Puede mezclar y combinar filas estáticas y filas extensibles como quiera. Es decir, una fila estática se puede colocar entre dos grupos de filas extensibles.

A través de los comandos en el menú contextual puede agregar un encabezado o un pie de página a cada tabla con filas extensibles. En este caso toda la tabla tendría un encabezado o un pie de página, y las filas extensibles se generarían dentro del cuerpo de la tabla.

Si una tabla con filas extensibles tiene un encabezado o un pie de página, puede convertir todo el grupo de componentes en una tabla extensible a través del menú contextual. En este caso, todos los componentes de la tabla extensible se repetirán para cada instancia del elemento de datos extensible.

Una tabla dinámica puede contener más de un grupo de filas de tabla.

 

Para crear y definir una tabla dinámica con filas extensibles, 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 una estructura que se repite (formada por los elementos: First, Last y Phone). El elemento Person puede aparecer varias veces. Si se asocia un grupo de filas de tabla al elemento Person, la tabla se generará con tantos grupos de filas de tabla como elementos Person haya (ver tabla a continuación). Si cambie el número de elementos Person de la fuente de página, entonces el número de filas de la tabla se cambiará automáticamente.

 

 

<Nombre>

<Apellido>

<Teléfono>

<Persona>

 

 

 

<Persona>

 

 

 

<Persona>

 

 

 

 

El diseño que aparece en la imagen contiene una tabla formada por un solo grupo extensible de filas de tabla. El grupo de filas está asociado al elemento Person y está compuesto por una fila y cuatro columnas.

MTDTablesDynamicRowsDes02

Por cada instancia del elemento que está asociado al grupo de filas, se genera el grupo de filas entero. Las expresiones XPath que están dentro del grupo de filas se resuelven con la instancia actual del elemento asociado, que sirve de nodo de contexto.

 

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 dinámica con filas extensibles

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

 

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 dinámica con filas extensibles hay un grupo de filas dentro de la tabla que está asociado a la estructura de datos de repetición. Por cada instancia de la estructura de datos se genera un grupo de filas.

 

Estas diferencias tienen dos efectos en el diseño:

 

Una tabla dinámica con filas extensibles puede tener un encabezado y un pie de tabla que se aplica a toda la tabla. Sin embargo, si necesita un encabezado o un pie de tabla para una tabla extensible, debería añadirlos a mano fuera de esa tabla. 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 los pares de las tablas extensibles contendrán espacio vertical entre ellas.

 

Para convertir una tabla extensible en una tabla con filas dinámicas haga clic con el botón derecho en la fila que desea convertir en fila dinámica y después seleccione el comando Tabla dinámica o extensible | Convertir esta fila en fila extensible. Puede agregar un encabezado o pie de página a una fila extensible usando el comando Tabla dinámica o extensible en el menú contextual.

 

Crear una tabla con filas extensibles

Para configurar una tabla con filas extensibles, siga estos pasos:

 

1.En el cuadro de diálogo ‘Tabla nueva’ que aparece cuando se coloca el control Tabla en el diseño (imagen siguiente), asegúrese de que la casilla Tabla extensible no esté marcada. Después seleccione el botón de opción Nº dinámico de filas. Esto creará una tabla que contiene un grupo de filas extensibles.

Haga clic para expandir/contraer

2.Especifique el número de columnas que tendrá la tabla y el número de filas que tendrá el grupo de filas (la suma de estas filas constituye el grupo de filas). También puede especificar si la tabla debe tener encabezado y pie de tabla.

3.Indique si se deben añadir controles Anexar/Eliminar automáticos. Si se añaden, cada fila extensible de la solución tendrá un botón Eliminar y la tabla tendrá un botón Anexar para anexar filas de tabla (ver imagen siguiente).

MTDTableDynamicAppendDeleteCtrls

4.Haga clic en Aceptar para terminar y agregar la tabla al diseño.

5.El paso siguiente consiste en asociar el grupo de filas con el elemento de repetición de la fuente de página.  Esto se hace arrastrando el elemento correspondiente desde el panel Fuentes de página hasta la tabla. Cada instancia de este elemento generará un grupo de filas en la tabla.

6.Ahora puede agregar contenido a las celdas de la tabla. El nodo de contexto para las expresiones XPath situadas dentro de celdas de una tabla es la instancia específica del nodo de elemento que está asociado al grupo de filas dinámicas (ver paso anterior). 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.

MTDTableDynamic02
 
Esta fila dinámica produce esta estructura en la solución de MobileTogether.
 
MTDTableDynamicAppendDeleteCtrls

Para más información sobre cómo distribuir columnas dinámicas consulte el apartado Propiedades de las tablas.

 

Para modificar la estructura de la tabla utilice los comandos del menú contextual de la tabla. Las propiedades de formato de la tabla se pueden modificar en el panel Estilos y propiedades. Consulte también los apartados Tablas extensibles y Columnas dinámicas.

 

Agregar grupos de filas de tabla adicionales

Puede usar cualquier mecanismo de construcción de tablas disponible para añadir grupos de filas de tabla adicionales. Es posible, por ejemplo, añadir una fila extensible y convertirla en un grupo de filas de tabla o, si lo prefiere, también puede añadir directamente una tabla con filas extensibles.

 

© 2017-2023 Altova GmbH