Las hojas de cálculo son herramientas muy versátiles. Desde cuadros de mando hasta UI de entrada/salida, las hojas de cálculo proporcionadas por 4D View Pro pueden resolver rápidamente muchas situaciones encontradas por sus usuarios finales.
Anteriormente explicamos el uso de la función de tablas de 4D View Pro para mostrar y modificar colecciones de datos. Utilizando las tablas de 4D View Pro, es posible que necesite añadir o eliminar columnas más adelante, dependiendo de las necesidades de los usuarios finales. Para ello, a partir de 4D v19 R7, 4D View Pro dispone de varios comandos nuevos para gestionar las columnas y filas de su tabla. Veamos cómo funciona.
El primer paso antes de añadir o eliminar algunas columnas es crear una tabla en 4D View Pro. Para los ejemplos siguientes, utilizaremos una tabla de 4D View Pro que muestra algunos datos de una tabla de la base de datos llamada «Personas»:
$context:=New object
$context.people:=ds.People.all().toCollection()
VP SET DATA CONTEXT("ViewProArea"; $context)
$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "Phone"; "dataField"; "Phone"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))
VP CREATE TABLE(VP Cells("ViewProArea"; 2; 1; 3; 1); "PeopleTable"; "people"; $parameter)
Insertar columnas en una tabla
El comando VP INSERT TABLE COLUMNS le permite insertar una columna siempre que la necesite en su tabla. Por ejemplo, si quiere mostrar 2 nuevas columnas antes de la primera columna de la tabla de 4D View Pro :
VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 0; 2;vk table insert before)
// 0 indicate the first column of the table.
Ahora se añaden 2 columnas vacías a la tabla. Así que ahora las llenaremos con los campos Firstname y Lastname gracias al comando VP SET TABLE COLUMN ATTRIBUTES:
$param:=New object
// Bind the column to the Firstname field from the datacontext
$param.dataField:="Firstname"
// Change the default name of the column to "First name"
$param.name:="First name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; $param)
$param:=New object
// Bind the column to the Lastname field from the datacontext
$param.dataField:="Lastname"
// Change the default name of the column to "Last name"
$param.name:="Last name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)
Insertar y eliminar filas
Del mismo modo, puede utilizar el comando VP INSERT TABLE ROWS para insertar filas vacías en su tabla:
VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)
Recuerda que VP INSERT TABLE ROWS no sólo añade elementos gráficos como VP INSERT TABLE COLUMNS. Cuando VP INSERT TABLE COLUMNS añade sólo columnas en la hoja, VP INSERT TABLE ROWS añade filas en la hoja y crea 2 nuevas filas en la colección de su contexto de datos.
En nuestro ejemplo, si utiliza VP Get data context, obtienes tu colección de personas con 2 nuevas líneas vacías, people[1] y people[2]:
$data:=VP Get data context("ViewProArea")
Y si escribes alguna información en tus celdas vacías:
Los atributos correspondientes a tu nueva información se añaden automáticamente. Aquí, people[1] se ha llenado de detalles:
$data:=VP Get data context("ViewProArea")
Si elimina algunas filas, funciona de la misma manera. Por ejemplo, si elimina todas las filas menos las 2 primeras, las filas desaparecerán gráficamente y en el datacontext:
VP REMOVE TABLE ROWS("ViewProArea"; "contexttest"; 2; 10)
$data:=VP Get data context("ViewProArea")
¡Así que la asociación entre datacontext y tabla es una forma fácil de gestionar sus colecciones en 4D View Pro!
¡Compruebe esta característica con el IDH de arriba y la documentación para más detalles!