4D View Pro: Popolate i vostri fogli con un contesto di dati

Tradotto automaticamente da Deepl

4D View Pro offre un nuovo modo per caricare i dati e creare i modelli: il contesto dati. Consente di creare il documento con segnaposti e di riempirli impostando il contesto dati.

Con poche righe di codice, è possibile visualizzare oggetti o collezioni senza prima autorizzarli con VP SET CUSTOM FUNCTION! Entriamo nei dettagli.

Contesto dati HDI 4DVP

Creazione di un documento con segnaposto

Innanzitutto, è necessario creare un documento con gli attributi dell’oggetto. Ad esempio, se si utilizza un oggetto con due attributi, Nome e Cognome, si possono creare due segnaposto con il comando VP SET BINDING PATH :

VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "Firstname")
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 1); "Lastname")

Nel foglio non compare alcun valore perché il contesto dati non è ancora stato definito. Per verificare che le celle siano vincolate correttamente, accedere alla scheda DATI della barra multifunzione e fare clic sul pulsante Vincolo del foglio. I nomi degli attributi appariranno tra parentesi:

Contesto dati

Ora che il modello è pronto, è sufficiente impostare il contesto dei dati con il proprio oggetto, utilizzando il comando VP SET DATA CONTEXT:

$object:=New object
$object.Firstname:="John"
$object.Lastname:="Smith"
VP SET DATA CONTEXT("ViewProArea"; $object)

In questo modo il modello viene aggiornato automaticamente:

blank

Naturalmente, l’utente può modificare i dati:

blank

In questo caso, non c’è problema: basta usare il metodo VP Get data context per recuperare l ‘oggetto con le modifiche:

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

//$object={Firstname:Judith,Lastname:Smith}

Iniezione di dati nei fogliS

Se si passa una collezione al contesto dei dati, questa collezione sarà automaticamente legata al foglio. Se l’opzione autoGenerateColumns del comando VP SET DATA CONTEXT è impostata su true, l’insieme viene visualizzato automaticamente nel foglio.

Ad esempio, se si vuole visualizzare una tabella del database, basta scrivere:

$people:=ds.People.all().toCollection()

VP SET DATA CONTEXT("ViewProArea"; $people; New object("autoGenerateColumns"; True)

Si ottiene:

blank

Il numero di colonne e di righe viene calcolato automaticamente e i nomi delle colonne sono i nomi dei campi della tabella.

Si noti che se autoGenerateColumns non è impostato su true, non viene visualizzato alcun dato!

Guardate l’HDI qui sopra per vedere questi comandi in azione. Inoltre, assicuratevi di leggere la documentazione per maggiori dettagli!

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à.