4D View Pro: Nuevos comandos para la gestión de filas y columnas

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.

Gestión de la tabla HDI

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.

blank

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)

blank

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)

blank

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")

blank

Y si escribes alguna información en tus celdas vacías:

blank

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")

blank

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)

blank

$data:=VP Get data context("ViewProArea")

blank

¡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!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.