AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Tabla
  • Presentación
  • Estado inicial del control Tabla
  • Opciones de visualización
  • Modo de selección
  • Opciones de visualización de las columnas
  • Rellenar controles Tabla mediante programación
  • Visualización de los detalles de una fila en una ventana interna
  • Barras de desplazamiento en una control Tabla
  • Opciones conservadas para la compatibilidad con las versiones anteriores
  • Obligando a que el título sea único - Line
  • Modo de entrada compatible con 5.5
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Los controles Tabla permiten mostrar y/o introducir datos. Estos datos pueden provenir de una fuente de datos, de una variable WLanguage o definirse mediante programación.
Esta página de ayuda presenta las principales características que se pueden definir para un control Tabla en una ventana:
También es posible definir la fuente de datos que se muestra en el control. Para obtener más información, consulte Contenido del control Tabla.
Estado inicial del control Tabla
El estado inicial de un control Tabla puede ser el siguiente:
Estado inicial del control Tabla
El estado inicial puede definirse al crear el control y modificarse en cualquier momento en la pestaña "UI" de la ventana de descripción del control Tabla.
Las diferentes opciones son las siguientes:
  • Visible: El control Tabla puede ser visible. Esta opción puede modificarse con la propiedad Visible.
  • Editable: Los usuarios podrán introducir datos en las diferentes columnas del control si están en modo de edición.
    iPhone/iPad El control Tabla no está disponible en modo de edición. Está disponible en modo de solo lectura.
  • Selección (no editable): Los usuarios no podrán introducir datos en las columnas del control. Sin embargo, pueden seleccionar filas en el control:
    • haciendo clic en la fila deseada.
    • llamando a la función TableSelectPlus.
      La fila se seleccionará con la banda de selección.
      Observación: El valor del control Tabla corresponde a la fila seleccionada. El código de selección de filas se ejecuta cada vez que se selecciona una fila.
  • Sin edición, sin selección: Los usuarios no podrán introducir datos en las columnas del control. Una fila solo puede seleccionarse utilizando la función TableSelectPlus. Esta fila se seleccionará con la banda de selección. El usuario no podrá cambiar la posición de la banda de selección.
    Observación: El valor del control Tabla corresponde a la fila seleccionada.
    Consejo: Esta opción se recomienda para resaltar una fila con la banda de selección.
  • En gris: El control Tabla y las columnas se mostrarán en gris. El usuario no podrá introducir datos en el control.
Opciones de visualización

Modo de selección

Los modos de selección definen el modo en que los diferentes elementos del control Tabla (filas, columnas, celdas, etc.) pueden ser seleccionados por el usuario o mediante programación. El modo de selección se define al crear el control. Se puede modificar en cualquier momento en la pestaña "UI" de la ventana de descripción del control Tabla.
Los modos de selección disponibles son los siguientes:
Modos de selección
  • Sin selección: No se mostrará ninguna banda de selección, sin embargo, la fila, columna o celda seleccionada tendrá el foco (estará rodeada por líneas discontinuas). Una fila, columna o celda puede seleccionarse haciendo clic en ella o mediante programación.
  • Selección única: La fila, columna o celda seleccionada se mostrará detrás de la banda de selección. Una fila, columna o celda puede seleccionarse haciendo clic en ella o mediante programación.
  • Selección múltiple: Se pueden seleccionar varias filas, columnas o celdas del control Tabla al mismo tiempo:
    • con la tecla Mayús si las filas, columnas o celdas son consecutivas o con la tecla Ctrl si no son consecutivas.
    • mediante programación.
      En este caso, habrá tantas bandas de selección como elementos seleccionados.
Observaciones:
  • Se producirá un error WLanguage si intenta seleccionar varias filas mediante programación y el modo de selección está definido como "Selección única".
  • Durante una selección múltiple por celda, para seleccionar una fila, todas las celdas encontradas en el fila deben ser seleccionadas. Para facilitar esta operación, puede definir un selector de filas (pestaña "Estilo", elemento "Selector de filas", opción "Selector", "Flecha hacia la izquierda").
Los elementos seleccionados se obtienen:
  • con la función TableSelect. Puede utilizar las constantes tsRow, tsColumn, tsCellRow y tsCellColumn para obtener información sobre las filas, columnas y celdas seleccionadas.
  • con la función TableSelectCount. Puede utilizar las constantes tsRow, tsColumn, tsCellRow y tsCellColumn para obtener el número de filas, columnas y celdas seleccionadas.
Ejemplo: El siguiente ejemplo muestra cómo get el número de fila y de columna para las celdas seleccionadas en el control Tabla.
// Retrieve the number of selected cells
NbSelected is int
NbSelected = TableSelectCount(TABLE_DetailedStats, tsCell)
// Loop through the selected cells
FOR i = 1 _TO_ NbSelected
// Retrieve the row and the column
nRow = TableSelect(TABLE_DetailedStats, i, tsCellRow)
nColumn = TableSelect(TABLE_DetailedStats, i, tsCellColumn)
// Process
...
END

AndroidiPhone/iPadJava Solo el modo de selección de filas está disponible.

Opciones de visualización de las columnas

Existen varias opciones para configurar el modo de visualización de las columnas. Estas opciones están disponibles en la pestaña "Detalles" de la ventana de descripción del control Tabla.
Opciones de visualización de las columnas
Las opciones son las siguientes:
  • Recordar configuración de columnas: Esta opción permite guardar la configuración de las columnas (tamaño, orden, etc.) cuando se cierra la ventana o la aplicación.
  • Menú "Seleccionar columnas...": Esta opción habilita un menú contextual para que el usuario pueda seleccionar las columnas que desea mostrar u ocultar en control Tabla.
  • Columnas de texto multilínea: Esta opción permite envolver Line en una columna. Así, todo el texto se muestra en la celda, independientemente de su longitud.
  • N° máx. de líneas que se muestran en una fila: Las filas de control Tabla pueden contener varias líneas. Esta opción establece el número máximo de líneas que puede mostrar una celda, para evitar que el contenido se extienda por demasiadas líneas, haciendo que la fila sea innecesariamente alta.
  • Número de columnas fijadas a la izquierda: Esta opción permite especificar el número de columnas fijadas a la izquierda. Estas columnas seguirán siendo Visible en el lado izquierdo de la control y no se podrán mover. El usuario no podrá ocultar estas columnas utilizando la barra de desplazamiento horizontal.
    El usuario también puede congelar o descongelar las columnas mediante el cursor "Candado" o la opción "Congelar columnas a la izquierda" del menú contextual del título de la columna. Para obtener más información, consulte Columnas de congelación en controles Tabla.
    También puede congelar una columna mediante programación con TablaFixColumn.
  • WINDEV Ángulo del título de las columnas: Si los títulos de las columnas son más anchos que el contenido de las mismas, puede inclinar los títulos (o escribirlos de forma vertical, por ejemplo). Indique el ángulo deseado en la pestaña "Detalles" de la descripción del control. Esta opción puede modificarse con la propiedad OrientationTitle.
  • WINDEVAndroidiPhone/iPad Editar sobre-encabezados de columnas: Puede definir sobre-encabezados en las columnas. Un sobre-encabezado de columna es un título adicional que aparece sobre el título de una o varias columnas. Para obtener más información, consulte Gestión de títulos de columnas en un control Tabla.
Observación: De forma predeterminada, los títulos de las columnas son multilínea. La altura del encabezado se ajusta automáticamente al número de líneas. Los títulos de las columnas soportan RTF.
Windows
Rellenar controles Tabla mediante programación
Cuando se rellena un control Tabla mediante programación, es posible mostrar información específica:
  • Barra de progreso,
  • Ventana de información, etc.
Para mostrar información cuando se rellena un control Tabla o Tabla TreeView mediante programación:
  1. Abra la ventana de descripción del control Tabla o Tabla TreeView.
  2. En la pestaña "UI" de la ventana de descripción del control, seleccione la opción "Mostrar una ventana interna sobre las filas".
  3. Si es necesario, especifique la ventana interna que se utilizará. Es posible:
    • utilizar la ventana predeterminada de WINDEV (opción "Ninguna").
    • importar la ventana predefinida al proyecto y personalizarla (opción "Ventana predefinida").
      Si esta opción está seleccionada, el componente interno WDAAF se agrega inmediatamente al proyecto actual. La ventana interna "IW_TableLoadStatus" se asocia automáticamente a la opción "Mostrar una ventana interna sobre las filas".
      Observación: Si el componente WDAAF ya existe, solo se agrega la ventana al componente.
  4. Si es necesario, valide la ventana de descripción del control.
  5. Para activar este mecanismo, llame a TableStartFilling y TableEndFilling para enmarcar el código utilizado para rellenar el control Tabla.
Observaciones:
  • Por Default, el mensaje "No hay datos disponibles" se muestra en la control Tabla vacía. Durante la operación de llenado, se muestra una barra de progreso de Infinite en la parte inferior de la control Tabla.
  • La ventana interior de Default tiene 3 planos:
    • Plano 1 que contiene una barra de progreso de Infinite.
    • Plano 2 que contiene la leyenda mostrada si el control Tabla está vacío.. La leyenda "No hay datos disponibles" es mostrada por Default.
    • Plano 3 que contiene la leyenda que aparece antes de la llamada a TableStartFilling.
  • La ventana interna "IW_TableLoadStatus" también se puede utilizar para rellenar programáticamente los controles del Looper.
Windows
Visualización de los detalles de una fila en una ventana interna
Un tabla fila muestra información diversa en sus diferentes columnas. Sin embargo, para get una interfaz más legible, ¿por qué no mostrar esta información en una ventana emergente?
To muestra una ventana correspondiente a los detalles de un fila encontrado en una tabla/control Tabla TreeView:
  1. Abra la ventana de descripción del control Tabla o Tabla TreeView.
  2. En la pestaña "UI" de la ventana de control de description, en la sección "Ventana interna para detalles de fila", especifique:
    • la ventana interna que se utilizará para mostrar los detalles de fila. Esta ventana interna es una ventana interna de su proyecto.
    • la sangría izquierda de la ventana interna (en relación con la control).
    • si la ventana interna debe ser mostrada cuando el fila está al alcance de la mano. En este caso, la ventana interna se mostrará después de una prórroga de 1 segundo..
  3. Valide la ventana de descripción.
  4. Se muestra un signo "+" en la primera columna del control Tabla/Tabla TreeView.
En ejecución:
  • Un signo "+"/"-" permite al usuario visualizar/cerrar los detalles de fila. Este elemento se puede personalizar mediante el estilo tabla (pestaña"Style", elemento "Image +/- IW for fila details").
  • La fila se amplía en altura para mostrar la ventana interna.. La ventana interna se muestra debajo de los datos encontrados en la fila.
Características de la ventana interna:
  • Para la información de get sobre la Tabla/control Tabla TreeView que muestra los detalles, la ventana interna debe utilizar el siguiente prototipo:
    PROCEDURE <Name of Internal Window>(<Parent table>, <Row number>)
    donde:
    • Tabla de padres: corresponde al nombre de la Tabla o control Tabla TreeView que mostraba la ventana interna.
    • Número de Fila: corresponde al número de la fila que mostraba la ventana interna.
    Estos parámetros se rellenan automáticamente en tiempo de ejecución.
  • La ventana interna puede contener todo tipo de controles (incluyendo un control Tabla).
  • La ventana interna permite modificar la información mostrada en el control Tabla. En este caso, tiene la posibilidad de utilizar un botón en la ventana interna que le permite validar los datos modificados.. El código de este botón puede ser:
    ScreenToFile()
    HSave()
    TableDisplay(TableName, taCurrentSelection)
    TableCollapse(TableName)
  • En la ventana interna, tiene la posibilidad de acceder a la control del tabla padre. Por ejemplo, para acceder a una control encontrada en una columna de Contenedores:
    gCTable[gnRowNum].BTN_Modify.State = Grayed
  • Los controles que se encuentran en la ventana interna se pueden anclar: El redimensionamiento de la tabla en anchura o el redimensionamiento de la fila actual en altura afecta a estos anclajes..
  • Los subtítulos de los controles que se encuentran en la ventana interna pueden tener el "Texto" Color para adaptar la Color de estos subtítulos en la selección de fila.
Observaciones:
  • Para visualizar/cerrar la ventana interna mediante programación, utilice TableExpand/TableCollapse.
  • La altura del fila que muestra la ventana interna corresponde a la altura inicial del fila más la altura de la ventana interna en modo de edición (InitialHeight Property).
  • El fondo de la Image definido para la fila se amplía para corresponder al tamaño de la fila ampliada.
  • Se utilizan varias propiedades para gestionar las características de la ventana interna mediante la programación:
    IndentLineDetailsEl IndentLineDetails Property se utiliza para get o cambiar el valor de la sangría izquierda de la ventana interna que muestra los detalles de un fila de un control Tabla.
    WinLineDetailsEl WinLineDetails Property permite get y cambiar el nombre de la ventana interna utilizada para mostrar los detalles de un fila en un control Tabla.
  • Casos especiales
    • Esta función no está disponible para la controles Tabla horizontal.
    • La interfaz de la ventana interna no puede ser modificada por el usuario final.
Barras de desplazamiento en una control Tabla
WindowsLinux Por defecto, las barras de desplazamiento se adaptan al contenido de controles Tabla (basado en un archivo de datos, rellenado programáticamente o basado en un Variable). El tamaño de la barra de desplazamiento varía en función del número de elementos que se muestren.
Atención: si se utiliza un filtro con este tipo de barra de desplazamiento, la fuente de datos se lee en la Background. El código de "fin de inicialización" se ejecutará al final de la iteración. Esta Process puede tardar relativamente mucho tiempo después de abrir la ventana, dependiendo de la fuente de datos para hacer un bucle.
Las opciones de la barra de desplazamiento se agrupan en la pestaña "Detalles" de control Tabla description:
Parámetros de la barra de desplazamiento en una control Tabla
La opción "Muévete por píxel" permite un movimiento suave de las filas: en lugar de "saltar" de un fila a otro, el movimiento se realiza píxel por píxel: una fila "multilínea" de una control Tabla puede ser truncada si es necesario cuando se muestra.
Observación: Al desactivar la barra de desplazamiento proporcional se desactiva la multiselección de filas.
Windows La opción "Mover con el dedo" se utiliza para especificar que el control Tabla acepta el Scrolling con el dedo (si el dispositivo de visualización está habilitado para el tacto). Esta opción está habilitada por Default en WINDEV Mobile para el nuevo controles Tabla. En WINDEV, está desactivado por Default.
Opciones conservadas para la compatibilidad con las versiones anteriores

Obligando a que el título sea único - Line

Por Default, el título de las columnas que se encuentran en una control Tabla es multilínea. La opción "Forzar título en una sola línea (8)" permite volver al comportamiento predeterminado de la versión 8.
En los controles Tabla creados con la versión 8 (o anterior), esta opción debe estar desmarcada para poder get un título de columna multilínea.
WINDEV

Modo de entrada compatible con 5.5

Con este modo, controles Tabla se comporta como en la versión 5.5. Esta opción se comprueba automáticamente si control Tabla proviene de una aplicación WINDEV 5.5 migrada.. Esta opción está disponible en la pestaña "Detalles" de la description de la control Tabla.
Esta opción no debe utilizarse para controles Tabla creados con la versión 7 (o posterior) de WINDEV.
Todas las funciones del controles Tabla serán accesibles si esta opción no está marcada. Para volver al comportamiento de controles Tabla en WINDEV 5.5, hay que adaptar el código de control.
Si esta opción está marcada, hay dos tipos de controles Tabla disponibles:
  • control Tabla editable sin selección.
  • control Tabla no editable con selección y Input( si ninguna columna está en modo de edición o si el control Tabla está en modo de selección sin modo de edición).
Reminder: en la versión 5.5, si se definió la control Tabla:
  • como "editable" y si al menos una columna de control estaba en edición, la banda de selección no se mostraba y era posible realizar una entrada en el control Tabla.
  • como "editable" (o "Inactive") y sin columna en la edición, el usuario no podía realizar ninguna entrada en la control Tabla pero podía modificar la posición de la banda de selección.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 08/03/2023

Señalar un error o enviar una sugerencia | Ayuda local