Propiedades de las tablas
Puede configurar ciertas propiedades de las celdas, columnas y filas de la tabla, así como de la tabla entera. A continuación puede ver el panel de propiedades de las tablas estáticas y las tablas extensibles (imagen izquierda). También se ilustra el panel de propiedades de las tablas dinámicas (imagen derecha). Tenga en cuenta que las tablas dinámicas tienen algunas propiedades más para el Grupo de filas de tabla. Esto se debe al hecho de que en una tabla dinámica se suele definir un grupo de filas, donde cada fila corresponde a una única instancia del mismo elemento. Por ejemplo, si cada elemento secundario Person de un elemento Office corresponde a una fila de la tabla, entonces todos los elementos Person juntos constituyen el grupo de filas.
En la descripción del controles de tabla encontrará una explicación detallada de las propiedades de las tablas. En esta sección sólo se expondrán las propiedades de las tablas que son exclusivas de MobileTogether o que se gestionan de manera exclusiva en este programa.
Propiedad: Extensible
La propiedad Extensible se puede configurar para las tablas extensibles (si se repite la tabla entera) y las tablas estáticas. El valor de esta propiedad es un valor booleano (true o false) y determina si la tabla es extensible o estática. Sin embargo, está propiedad no está disponible para las tablas dinámicas.
El valor de esta propiedad se asigna automáticamente cuando se crea una tabla extensible o estática. Una tabla extensible tiene una propiedad Extensible con valor true, mientras que una tabla estática tiene una propiedad Extensible con valor false. Una vez creada la tabla (ya sea extensible o estática), puede cambiar su tipo con solo cambiar el valor de la propiedad Extensible de la tabla.
Propiedad: Crear por cada elemento en
Esta propiedad está disponible para todo tipo de tablas y grupos de filas de tabla (en tablas dinámicas). Especifica el número de veces que se debe volver a crear la tabla extensible o el grupo de filas de tabla extensible. Este número debe ser igual al número de elementos de la secuencia devuelta por la expresión XPath de la propiedad. Esta expresión puede devolver dos tipos de secuencias:
•Nodos de una estructura fuente de página. Se trata de una alternativa a asociar una tabla extensible (o grupo de filas de tabla) con un nodo de la fuente de página (esta asociación se hace arrastrando el nodo hasta la tabla). Una expresión XPath de este tipo también permite una mayor flexibilidad a la hora de seleccionar nodos. Por ejemplo, la expresión XPath $XML1/Offices/Office[@location='US'] devuelve una secuencia de nodos Office que tienen el atributo @location='US'. El filtro US no se puede aplicar usando el método alternativo de arrastrar el nodo Office hasta la tabla. Sin embargo, puede conseguir el mismo efecto con la propiedad Crear por cada elemento en.
•Elementos no relacionados con la estructura fuente de página. Por ejemplo, en el mes octubre de 2014, la expresión 1 to subsequence(age-details(xs:date("2014-01-01")), 2, 1) devuelve una secuencia de nueve elementos: los enteros del 1 al 9, es decir, el número de meses que han pasado desde el 1 de enero de 2014 y un día del mes de octubre de 2014. La expresión XPath básica es 1 to X, y X (según la función subsequence) es el segundo elemento de la secuencia de tres elementos devuelta por la función age-details. Esta función devuelve la "edad" del día actual (de nuestro mes de octubre de 2014) en relación a la fecha de entrada (1 de enero de 2014) teniendo en cuenta la secuencia de tres elementos años, meses y días (en este caso 0 años, 9 meses y XX días). El segundo elemento de la secuencia de tres elementos es el número de meses, es decir, 9. Como la secuencia devuelta contiene nueve elementos (el rango comprendido entre 1 y 9), la tabla se creará nueve veces.
Nota: | Si quiere generar una vista previa de los resultados de las expresiones XPath, ejecute el simulador integrado de MobileTogether Designer (Ejecutar | Simular flujo de trabajo) y haga clic en el botón Evaluar XPath de la ventana del simulador. Después haga clic en Evaluador. |
Permitir arrastrar filas en tablas con filas dinámicas
Una tabla con filas extensibles consiste en varias filas (llamadas filas de datos) que corresponden todas a una instancia del elemento de datos que se repite. Por ejemplo, un grupo de filas Person normalmente incluiría varias filas de datos Person que aparecen en algún orden particular. Si un usuario final quiere reordenar las filas de datos Person, normalmente lo haría arrastrando una fila de datos a su nueva posición. En el diseño, puede activar la función de arrastrar filas así como definir las acciones que se deben realizar al soltar la fila arrastrada en su nueva posición. Puede habilitar la función de arrastrar filas usando las siguientes propiedades:
•Las propiedades del grupo de filas de la tabla: La propiedad Arrastrable. Si la propiedad está configurada en false, entonces no se pueden arrastrar filas. Sólo si la propiedad está configurada en true, entonces el usuario final puede arrastrar cualquier fila de datos a una nueva ubicación manteniendo pulsado o haciendo clic en cualquier lugar de la fila de datos hasta que se active el modo Arrastrar y, a continuación, arrastrando la fila a su nueva posición en la tabla. Puede evitar tener que mantener pulsado el ratón estableciendo en true la propiedad Arrastrar filas al instante de cualquier botón del grupo de filas. En este caso el usuario final puede arrastrar filas al instante haciendo clic en el botón configurado. Si establece el valor de la propiedad Arrastrable en true aparecerá una ventana emergente preguntándole si desea que MobileTogether defina automáticamente las acciones de reordenación. Seleccione Sí si no quiere asignar otras acciones aparte de las acciones de reordenación.
•Las propiedades del grupo de filas de la tabla: La propiedad Gestos. Esta propiedad permite configurar acciones que se deben ejecutar al arrastrar la fila de datos a su nueva ubicación o al deslizar. Por ejemplo, al colocar una fila en una nueva ubicación, ésta se reordena en la interfaz. Pero esto no significa que los datos subyacentes se reordenan automáticamente. Si quiere que todos los datos subyacentes también se reordenan, es necesario definir las acciones correspondientes explícitamente. Por ejemplo, si un usuario final reordena una fila Person de la posición 1 a la posición 5 en la vista previa y, por lo tanto, desea mover también el elemento Person correspondiente de los datos subyacentes a la nueva posición, deben establecerse ciertas acciones para hacerlo. Si lo desea MobileTogether puede definir automáticamente las acciones de reordenación (véase el punto anterior) o, si prefiere, las puede definir manualmente. Otra alternativa es dejar que MobileTogether defina las acciones de reordenación y luego modificar o ampliarlas.
Tenga en cuenta que esta función sólo se aplica a los grupos de filas de tablas dinámicas de nivel superior.
Las propiedades Arrastrable y Gestos se describen en el apartado controles de tabla. La propiedad Arrastrar filas al instante es una propiedad del control de botones y, por tanto, se describe junto con las otras propiedades de botones.
Acciones de deslizamiento para filas dinámicas
Puede establecer las acciones que se realizarán cuando el usuario final deslice el dedo hacia la izquierda o hacia la derecha por una fila de datos de un grupo de filas. Puede configurar acciones de deslizamiento utilizando las propiedades Deslizar a la izquierda y Deslizar a la derecha del Grupo de filas de tabla (ver imagen siguiente).
Para configurar las acciones de deslizamiento, siga estos pasos:
•Establezca la propiedad Habilitado en true.
•Al deslizar, se puede mostrar una cadena de texto y un icono en la fila deslizada. Defina las propiedades correspondientes en función de lo que desee mostrar (ver imagen anterior). Puede seleccionar el icono de una variedad de iconos disponibles.
•Especifique una o varias acciones que se ejecutarán al deslizar. Puede acceder al cuadro de diálogo Acciones para deslizar a través de la propiedad Gestos o del botón Examinar de la propiedad Deslizar a la izquierda/derecha. En la imagen anterior, puede ver que se ha establecido la acción Imprimir en archivo para la propiedad Deslizar a la izquierda.
Tenga en cuenta que esta función sólo se aplica a los grupos de filas de tablas dinámicas de nivel superior.
Todas estas propiedades se describen en el apartado controles de tabla.
Combinar y distribuir filas y columnas
Para unir varias filas o columnas seleccione en el diseño la fila o columna que desea unir y use el comando Combinar correspondiente en el menú contextual, en el menú Tabla o en la barra de herramientas de la aplicación. La fila/columna seleccionada se unirá a la fila/columna adyacente que seleccionara. Si las filas o columnas que se combinaron están dentro de un grupo de filas o de columnas (que se crean para filas o columnas dinámicas), entonces la combinación tendrá lugar dentro de cada instancia del grupo y la fila/columna combinada aparecerá en cada grupo.
Cuando se trate de columnas dinámicas, la aplicación ofrece otro tipo de función de combinación que se denomina distribución: Las columnas de todos los grupos de columnas se distribuyen en una sola columna, independientemente del número de columnas que constituyan el grupo de columnas. Para conseguir esta distribución basta con asignar el valor true a la propiedad Abarca grupos de columnas (disponible en el panel Estilos y propiedades). Esta propiedad solamente está disponible en la primera columna de un grupo de columnas. Puede tener el valor true o false. El valor predeterminado es false. Si tiene el valor true, en el resultado todas las columnas del grupo de columnas están distribuidas, dando lugar a una sola columna.
En la siguiente tabla puede ver un diseño compuesto por un grupo de columnas formado por dos columnas que no están distribuidas. El grupo de columnas está asociado al elemento Nodo.
Grupo de columnas en el diseño, corresponde al elemento de repetición Nodo. Sin distribuir
|
En el resultado el grupo de columnas se repite cada vez que se da una instancia del elemento Nodo. Por tanto, se crean dos columnas por cada elemento Nodo (ver tabla a continuación):
Nodo[1] | Nodo[1] | Nodo[2] | Nodo[2] | ... | Nodo[n] | Nodo[n] |
Si el grupo de columnas dinámicas estuviera distribuido (si la propiedad Abarca grupo de columnas tuviera el valor true), en el diseño sería como si las dos columnas estuvieran unidas (ver tabla a continuación). Las propiedades y el contenido de la columna resultante serán los de la primera columna.
Grupo de columnas en el diseño que corresponde al elemento de repetición Nodo: distribuidas
|
En el resultado el grupo de columnas se distribuye y abarca todas las instancias de Nodo. Por tanto, solo habrá una columna para todas las instancias de Nodo, tal y como se aprecia en la siguiente tabla. Si el contenido de la columna se selecciona de forma dinámica con una expresión XPath que encuentra los elementos Nodo, entonces se devolverá un error.
Nodo[de 1 hasta n] |
Cuando las columnas dinámicas están distribuidas, el proceso de transformación tiene lugar en dos fases: (i) en el diseño, todas las columnas del grupo de columnas, incluidas las de tipo estático, se fusionan en una sola columna (igual que si se utilizara el comando Combinar) y (ii) en el resultado, todas las instancias del elemento de repetición se crean como una sola columna. Además, las expresiones XPath devolverán un error si: (i) están situadas dentro de una columna del diseño e (ii) intentan encontrar instancias del elemento que correspondan a columnas de salida.
En la siguiente imagen puede ver un ejemplo de columna dinámica creado dentro de un grupo de columnas. En el diseño el grupo de columnas contiene un solo grupo de columnas que está asociado al elemento day y este grupo de columnas está dentro de una tabla (extensible) asociada al elemento week (que en la fuente de página es el elemento principal del elemento day). Como el elemento week se repite, en el resultado se creará una tabla nueva por cada instancia del elemento week. Si en la fuente de datos hay varios elementos secundarios day del elemento week y si en el diseño las columnas dinámicas del grupo de columnas no están distribuidas, entonces la tabla que se genera a partir del diseño (por cada week) tendrá tantas columnas como elementos secundarios day tenga la fuente de página. Sin embargo, si asigna el valor true a la propiedad Abarca grupo de columnas, entonces las columnas de la tabla que se genera estarán distribuidas y la tabla tendrá una sola columna.
Para más información consulte el apartado Columnas dinámicas.
Visibilidad de columnas/filas
Para configurar su visibilidad, seleccione la columna o la fila y asigne el valor true o false a la propiedad Visible. El valor predeterminado es true.
En las columnas o filas distribuidas, puede configurar la visibilidad de cada columna o fila de forma individual si la visibilidad de la primera columna o fila del grupo distribuido tiene el valor true. Si la visibilidad de la primera columna o fila del grupo distribuido tiene el valor false, entonces todas las columnas o filas del grupo distribuido tendrán el valor false.
Imagen anterior: Columnas distribuidas en la primera fila (color verde):
•Las tres columnas distribuidas en la fila 1 (verde) se entienden como la columna 1. La siguiente columna de la fila 1 es la columna 4. Por tanto, en la fila 1 no hay columna 2 ni columna 3.
•Si selecciona cualquiera de las tres primeras columnas por separado en las filas 2, 3, 4 o 5 y establece la visibilidad en true o false, la nueva configuración no afecta a la visibilidad de las demás columnas.
•Si selecciona la columna 1 en la fila 1 y establece la visibilidad en true o false, solo se modificará la visibilidad de la columna 1. La columna 2 y la columna 3 (de las filas 2, 3, 4 y 5) no se modificarán.
Imagen anterior: Filas distribuidas en la primera columna (color azul):
•Las filas distribuidas de la columna 1 se entienden como la fila 4. Por tanto, en la columna 1 no hay fila 5.
•Si selecciona la fila 4 o la fila 5 por separado en las columnas 2, 3, 4 o 5 y establece la visibilidad en true o false, la nueva configuración no afecta a la visibilidad de la otra fila.
•Si selecciona la fila 4 en la columna 1 y establece la visibilidad en true o false, solo se modificará la visibilidad de la fila 4. La fila 5 (de las columnas 2, 3, 4 y 5) no se modificará.
Tablas con desplazamiento
Si una tabla es muy larga o muy ancha, puede configurarla para que el usuario final pueda desplazarse por ella en vertical o en horizontal. Si elije esta característica, solamente aparecerá en pantalla una parte de la tabla, mientras que el resto aparecerá a medida que el usuario deslice la barra de desplazamiento de la tabla.
Desplazamiento en vertical
La propiedad Alto de tabla máximo especifica el alto que tiene la tabla en píxeles o en relación al alto de la pantalla del dispositivo. Seleccione un valor en el cuadro combinado de la propiedad. Por ejemplo, si selecciona el valor 50%, la tabla tendrá un alto igual a la mitad del alto de la pantalla del dispositivo (ver primera imagen a la izquierda más abajo). Si la tabla tiene una extensión vertical superior al espacio asignado en pantalla, entonces incluirá una barra de desplazamiento y el usuario final podrá desplazarse por el resto de la tabla. Si existen componentes de diseño antes de la tabla, todos aparecerán antes de la misma. La tabla propiamente dicha tendrá el alto absoluto o relativo especificado con esta propiedad.
Nota: | La tabla y la página tienen barras de desplazamiento diferentes (ver imagen siguiente). En el simulador de MobileTogether Designer utilice la rueda de desplazamiento para desplazarse por la tabla en vertical y arrastre el puntero para desplazarse en horizontal. |
Nota: | En dispositivos Android 4.x si una página tiene dos o más tablas y una de ellas tiene desplazamiento, el desplazamiento vertical no funcionará en esta tabla. |
Nota: | Consulte el tutorial sobre Tablas con desplazamiento para ver un ejemplo. |
Además de píxeles y porcentajes, la propiedad Alto de tabla máximo puede tener dos valores:
•Resto del alto de pantalla (máx): El alto de tabla se minimiza todo lo posible para que pueda verse el máximo contenido posible del resto de la página. En la imagen anterior, por ejemplo, en la pantalla de la derecha se puede ver una tabla con este valor: El alto de la tabla se redujo para que aparezcan en pantalla los cinco componentes de la página. Tenga en cuenta que en este caso la barra de desplazamiento de la página desaparece (porque la página entera aparece en pantalla).
•Resto del alto de pantalla (siempre): Con esta opción podrá usar todo el alto de pantalla para mostrar la página. Si la tabla no tiene una extensión vertical suficiente para rellenar toda la página, el espacio adicional se añade debajo de la tabla para que el último componente de la página aparezca justo al final de la pantalla. En otras palabras, este valor permite asegurar el contenido del final de la página en la parte inferior de la pantalla.
La propiedad Desplazamiento en vertical se habilita cuando se establece el valor de la propiedad Alto de tabla máximo y cuando la propiedad Ancho de tabla máximo todavía no tiene un valor. La propiedad Desplazamiento en vertical puede tener uno de estos valores:
•Por toda la tabla: El usuario puede desplazarse hacia arriba y hacia abajo por todo el alto de tabla asignado a la tabla con la propiedad Alto de tabla máximo. Este es el valor predeterminado.
•Por las filas excepto encabezado y pie: El encabezado y el pie de tabla se fijan en la vista. El usuario final puede desplazarse por las demás filas de la tabla.
La propiedad Tamaño de fragmento de grupo de filas se habilita solamente si en la tabla hay un grupo de filas extensible y una vez establecido el valor para la propiedad Alto de tabla máximo las tablas con desplazamiento. Permite especificar el número de grupos de filas que se cargan de una vez. Cuando el usuario se desplaza hacia abajo y alcanza el último grupo de filas del último fragmento cargado, entonces se carga el siguiente fragmento. Esta propiedad no tiene ningún valor predeterminado.
Desplazamiento en horizontal
La propiedad Ancho de tabla máximo especifica el ancho de la tabla: (i) en píxeles, (ii) en relación al ancho de la pantalla del dispositivo o (iii) con dimensiones optimizadas para las columnas (ajuste_automático_línea). El valor predeterminado es ajuste_automático_línea. Seleccione un valor en el cuadro combinado de la propiedad. Si el ancho de tabla es superior al ancho de pantalla, entonces la tabla incluirá una barra de desplazamiento horizontal. El usuario puede deslizar el dedo de izquierda a derecha o derecha a izquierda para desplazarse por la tabla.
Bordes de tabla
El menú Tabla ofrece una serie de comandos que permiten editar la estructura de las tablas. También puede definir propiedades de tabla en el panel Estilos y Propiedades. Asimismo, puede modificar los bordes de tabla en el cuadro de diálogo ‘Configuración del borde’ (Tabla | Configuración del borde).