In sintesi
Ora vediamo come si fa a collegare i documenti agli alberi per ottenere una vista gerarchica editabile dei documenti stessi.
Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
Abbiamo visto come collegare documenti a pannelli, ora vediamo come sia possibile collegare documenti ad alberi per ottenere una vista gerarchica editabile dei documenti stessi. Creiamo quindi una videata popup che si aprirà con il doppio click sul campo numero ordine e che dovrà mostrare un albero con l'ordine selezionato, le sue righe e gli sconti. L'albero non deve avere alcun item e alcuna query, in quanto si adatta automaticamente alla forma del documento che gli attaccheremo. Nell'evento di Load, andiamo a prendere il documento dal pannello ordini, poi lo attacchiamo all'albero usando la funzione SetDocument. Prima di provare l'applicazione verifichiamo che le collection righe e sconti abbiano il flag visible a true, altrimenti non si vedrebbero nell'albero.
Vediamo che la libreria dell'albero è stata estesa per consentire la gestione di alberi su documenti: ad esempio possiamo collegare all'albero il contenuto di una collection con il metodo SetCollection, sapere o impostare il documento attivo con la proprietà ActiveDocument, attivare, rinfrescare o espandere tutto l'albero o parti di esso. Abbiamo anche i relativi eventi; inoltre segnaliamo che se l'albero ha il drag & drop, esso può anche gestirlo in autonomia spostando i copiando i documenti in giro per l'albero. Ad esempio attiviamo il Drag & Drop e proviamo l'applicazione.
I documenti possiedono alcuni eventi che ne controllano le alcune proprietà base: l'evento On Get Tooltip permette di decidere quale tooltip deve essere visualizzato per quel documento (per default nessuno), l'evento di On Get Icon decide quale icona visualizzare (per default quella stabilita a design time per la classe o la tabella base del documento), infine l'evento OnGetName decide quale nome dare al documento perché l'utente capisca di che cosa si tratta (per default le proprietà che derivano da campi con il describe row attivo). Questi eventi vengono utilizzati per sapere che cosa mostrare nell'albero relativamente ad ogni documento o parte di esso. Ad esempio nell'albero vogliamo aggiungere il tooltip alle righe per mostrare il nome completo dell'articolo. Per farlo aggiungiamo l'evento On get Tooltip al documento riga, creiamo un istanza del documento articolo, ne impostiamo l'ID e poi usiamo la funzione Load From Cache che lo carica dal database o da una cache di documenti. Infine usiamo le proprietà dell'articolo per comporre il tooltip. Proviamo l'applicazione.