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.
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.
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)
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)
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")
E se si scrivono alcune informazioni nelle celle vuote:
Gli attributi corrispondenti alle nuove informazioni vengono aggiunti automaticamente. Qui, people[1] è stato riempito di dettagli:
$data:=VP Ottieni dati contesto("ViewProArea")
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)
$data:=VP Get data context("ViewProArea")
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!