|
|
|
|
- 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
Control Tabla basado en una variable
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: - En la ventana de descripción del control Tabla, seleccione el modo de relleno "Mediante variable" (pestaña "Contenido").
- 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.
- Por cada columna del control Tabla, utilice la propiedad DataBinding para definir el miembro de la variable array que rellenará la columna.
- 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)
Los controles Tabla basados en un array de tipos simples (enteros, cadenas, etc.) están disponibles en modo de solo lectura.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|