4D View Pro: Nuovi comandi per gestire righe e colonne

I fogli di calcolo sono strumenti molto versatili. Dai cruscotti alle UI di input/output, i fogli di calcolo forniti da 4D View Pro possono risolvere rapidamente molte situazioni incontrate dagli utenti finali.

In precedenza abbiamo spiegato come utilizzare la funzione tabelle di 4D View Pro per visualizzare e modificare le raccolte di dati. Utilizzando le tabelle di 4D View Pro, potrebbe essere necessario aggiungere o rimuovere colonne in un secondo momento, a seconda delle esigenze degli utenti finali. A tal fine, a partire da 4D v19 R7, 4D View Pro dispone di diversi nuovi comandi per gestire le colonne e le righe delle tabelle. Vediamo come funziona.

Gestione delle tabelle HDI

Il primo passo da fare prima di aggiungere o rimuovere alcune colonne è creare una tabella in 4D View Pro. Per gli esempi che seguono, utilizzeremo una tabella 4D View Pro che visualizza alcuni dati da una tabella di database denominata “Persone”:

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

Inserire colonne in una tabella

Il comando VP INSERT TABLE COLUMNS consente di inserire una colonna ogni volta che se ne ha bisogno nella tabella. Ad esempio, se si desidera visualizzare 2 nuove colonne prima della prima colonna della tabella di 4D View Pro :

VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 0; 2;vk table insert before)
// 0 indicate the first column of the table.

blank

2 colonne vuote sono state aggiunte alla tabella. Ora le riempiremo con i campi Nome e Cognome grazie 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

Inserire e rimuovere righe

Allo stesso modo, è possibile utilizzare il comando VP INSERT TABLE ROWS per inserire righe vuote nella tabella:

VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)

blank

Ricordate che VP INSERT TABLE ROWS non aggiunge solo elementi grafici come VP INSERT TABLE COLUMNS. Quando VP INSERT TABLE COLUMNS aggiunge solo colonne nel foglio, VP INSERT TABLE ROWS aggiunge righe nel foglio e crea 2 nuove righe nell’insieme del contesto dei dati.

Nel nostro esempio, se si utilizza VP Get data contextsi ottiene la collezione di persone con 2 nuove righe vuote, people[1] e people[2]:

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

blank

E se si scrivono alcune informazioni nelle celle vuote:

blank

Gli attributi corrispondenti alle nuove informazioni vengono aggiunti automaticamente. Qui, people[1] è stato riempito di dettagli:

$data:=VP Ottieni dati contesto("ViewProArea")

blank

Se si rimuovono alcune righe, funziona allo stesso modo. Ad esempio, se si rimuovono tutte le righe tranne le prime due, le righe scompaiono graficamente e nel contesto dati:

VP REMOVE TABLE ROWS("ViewProArea"; "contexttest"; 2; 10)

blank

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

blank

L’associazione tra datacontext e tabella è quindi un modo semplice per gestire le collezioni in 4D View Pro!

Per maggiori dettagli, date un’occhiata a questa funzione con l’HDI di cui sopra e alla documentazione!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.