AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Tabla / Tabla basada en una variable
  • Presentación
  • Modo de funcionamiento, programación y sincronización de un control Tabla basado en una variable
  • Agregar un elemento
  • Modificar un elemento
  • Eliminar un elemento
  • Manipular un control Tabla basado en una variable en código WLanguage: valor almacenado
  • Cambiar de la variable base de un control Tabla mediante programación
  • Limitación
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
Un control Tabla basado en una variable es un control cuyas columnas están enlazadas a los elementos de una variable de tipo Array, a los miembros de una clase o a los elementos de una variable avanzada (por ejemplo, xlsDocument).
Por ejemplo, cada columna del control Tabla puede:
  • Enlazarse a un miembro de una instancia de clase,
  • Enlazarse a un elemento de un array, etc.
  • Ser calculada: Una columna que no está enlazada a una variable es una columna calculada. En el caso de las columnas calculadas, el contenido de la columna se vuelve a calcular cada vez que se muestra una fila.
Un control Tabla basado en una variable permite:
  • Ver el contenido de una variable de tipo Array, clase o variable avanzada.
  • Manipular una fila de la tabla (agregar, eliminar, modificar, etc.).
Atención: el control Tabla y la fuente de datos no se sincronizan automáticamente. Dependiendo de la acción realizada, los cambios deben propagarse al control Tabla o a la fuente.
Modo de funcionamiento, programación y sincronización de un control Tabla basado en una variable

Agregar un elemento

  • Caso 1. Agregar un elemento a la fuente del control Tabla
    Para actualizar un control Tabla con los nuevos elementos de la fuente de datos, utilice la función TableDisplay con la constante taInit. Las selecciones y el orden definido por el usuario se perderán.
  • Caso 2. Agregar un elemento al control Tabla (entrada en cascada)
    Para gestionar la entrada en cascada, los nuevos elementos deben agregarse a la fuente de datos mediante programación.
    Se recomienda:
    • Agregar los elementos uno a uno en el código de salida de la fila.
    • Utilice la función TableDisplay (con la constante taInit) para actualizar los enlaces entre las filas del control Tabla y los elementos de la fuente de datos.

Modificar un elemento

  • Caso 1. Cambios en la fuente de datos del control Tabla
    Para actualizar el control Tabla con los cambios de la fuente de datos, utilice la función TableDisplay.
  • Caso 2. Cambios en el control Tabla
    Si se realizan cambios en el control Tabla, estos se reflejan automáticamente en la fuente de datos.
    Si los cambios en el control Tabla se realizan mediante programación (utilizando funciones WLanguage, por ejemplo), se debe llamar a la función TableSave para confirmar los cambios. Los cambios se reflejan automáticamente.
    Atención: Dependiendo de las operaciones realizadas previamente, los cambios pueden reflejarse en una ubicación errónea si la fuente de datos y el control Tabla no están sincronizados: la sincronización debe mantenerse de forma constante.

Eliminar un elemento

  • Caso 1. Eliminar un elemento utilizando su índice en la fuente de datos del control Tabla
    El elemento debe eliminarse manualmente del control Tabla y de la fuente de datos.
    La función TableSearch devuelve la fila del control Tabla que corresponde al elemento (el valor del control Tabla debe corresponder al elemento en la fuente de datos).
    Limitación: Para fuentes simples (por ejemplo, array de enteros), utilice la función TableDisplay con la constante taInit para actualizar los enlaces entre las filas del control Tabla y los elementos de la fuente de datos. Las selecciones y el orden definido por el usuario se perderán.
  • Caso 2. Eliminar un elemento utilizando su índice en el control Tabla
    El elemento debe eliminarse manualmente del control Tabla y de la fuente de datos.
    La función TableSearch devuelve el índice en la fuente de datos que corresponde al elemento eliminado en el control Tabla.
    Limitación: Para fuentes simples (por ejemplo, array de enteros), utilice la función TableDisplay con la constante taInit para actualizar los enlaces entre las filas del control Tabla y los elementos de la fuente de datos. Las selecciones y el orden definido por el usuario se perderán.
Manipular un control Tabla basado en una variable en código WLanguage: valor almacenado
Cuando se manipula un control Tabla basado en una variable mediante programación:
  • el uso de <Control Tabla> en el código devuelve el contenido del campo almacenado.
  • el uso de <Control Tabla> en un bucle FOR EACH ROW devuelve el contenido del campo almacenado.
  • el uso de <Control Tabla> [n] en el código devuelve el contenido del campo almacenado.
Cambiar de la variable base de un control Tabla mediante programación
Para cambiar la variable base de un control Tabla mediante programación:
  1. En la ventana de descripción del control Tabla, seleccione el modo de relleno "Mediante variable" (pestaña "Contenido").
  2. En el código, defina el valor de las siguientes propiedades para el control Tabla:
    • BrowsedFile: esta propiedad define la fuente de datos. En este caso, esta propiedad corresponde a un array de estructuras o al nombre de un array de clases.
    • StoredItem: esta propiedad corresponde al valor en memoria devuelto por el control Tabla cuando se selecciona una fila.
  3. Por cada columna del control Tabla, utilice la propiedad DataBinding para definir el miembro de la variable array que rellenará la columna.
  4. Muestre los datos en el control Tabla con la función TableDisplay.
Ejemplo de código:
// Declare the array
STContact is Structure
sLastName is string
sFirstName is string
sEmail is string
END
 
t_Contact is array of STContact
 
 
// Assign the table properties
TABLE_CONTACT.BrowsedFile = ":t_Contact"
TABLE_CONTACT.StoredItem = ":t_Contact.sLastName"
 
// Assign the properties of the table columns
TABLE_CONTACT.COL_LASTNAME.DataBinding = ":t_Contact.sLastName"
TABLE_CONTACT.COL_FIRSTNAME.DataBinding = ":t_Contact.sFirstName"
TABLE_CONTACT.COL_EMAIL.DataBinding = ":t_Contact.sEmail"
 
TableDisplay(TABLE_CONTACT)
Limitación
Los controles Tabla basados en un array de tipos simples (enteros, cadenas, etc.) están disponibles en modo de solo lectura.
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
  Can select the columns, which will not be exported
 Hoje Minha dica
é como colocar ou eliminar
Lupa nas colunas
Movimentar ou não as colunas
Tambem vou Mostrar Novidade No WinDev22
Poder selecionar as colunas, que não serão exportadas
//====================
My tip today
Is how to put or remove
Magnifying glass on the columns
Move or not the columns
I'll also Show What's New In WinDev22
Can select the columns, which will not be exported
//====================
Aujourd'hui Mon conseil
est comme mettre ou éliminer
Lupa dans les colonnes
Déplacer ou non les colonnes
Aussi montrera Nouveautés WinDev22
Vous pouvez sélectionner les colonnes qui ne seront pas exportés
//====================
http://windevdesenvolvimento.blogspot.com.br/2017/02/aula-1076-windev-tabela-048-bloquear-ou.html

https://www.youtube.com/watch?v=7S5k-jHUn9Y

De matos
10 03 2017

Última modificación: 03/07/2023

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