Programma con Xojo dese Cero: elenchi gerarchici
Continuiamo a migliorare la nostra applicazione «Spese personali», quindi ora utilizziamo la capacità di ListBox di visualizzare i dati in modo gerarchico (cioè con vari livelli di indentazione).
Questo ci permetterà ora di mostrare nella ListBox tutte le spese raggruppate in ciascuna delle categorie a cui appartengono, con la possibilità di espandere o comprimere a piacimento ciascuna delle categorie della lista.
Pertanto, guadagneremo organizzazione quando si tratta di mostrare all’utente le diverse voci corrispondenti a ciascuna delle categorie di spesa.
In effetti, ListBox è uno dei controlli dell’interfaccia utente più potenti e flessibili che puoi trovare nella libreria Xojo IDE. Se dai uno sguardo alla documentazione su questo componente (https://docs.xojo.com/ListBox), ti renderai conto fino a che punto puoi personalizzare il comportamento della lista, sia da un punto di vista grafico (ricorda da capitoli precedenti che Graphics è la classe che ci fornisce tutto ciò di cui abbiamo bisogno per «dipingere» la nostra interfaccia utente), oltre al comportamento.
Durante il corso abbiamo già visto alcune delle sue capacità, come quella corrispondente all’ordinamento dei dati in ciascuna delle colonne, nonché il modo in cui possiamo aggiungere dati alle diverse colonne di una nuova riga, accedere a un dati specifici, ecc.
Ebbene, in questo capitolo ci concentreremo su altri metodi disponibili nel ListBox, questi sono quelli che ci permettono di indicare al ListBox che vogliamo aggiungere una nuova riga di dati con il comportamento «espandibile» tramite il metodo AddExpandableRow (https: //docs.xojo.com/ListBox.AddExpandableRow).
In questo modo ci dà anche la possibilità di aggiungere i gestori di eventi ExpandRow (https://docs.xojo.com/ListBox.ExpandRow) e CollapseRow (https://docs.xojo.com/ListBox.CollapseRow).
Questi sono gli eventi che verranno attivati nel controllo ogni volta che l’utente fa clic sul widget freccia (elemento grafico) associato a ciascuna delle righe espandibili su cui è possibile agire.
Dato che, ad esempio, in ExpandRow riceviamo come parametro il numero della riga che vogliamo visualizzare, questa sarà quella che utilizzeremo per compilare (e quindi rendere visibile) il resto delle righe (o voci) corrispondente alle spese della categoria che abbiamo appena terminato di schierare.
Un altro metodo interessante di ListBox, quando si utilizzano elenchi gerarchici, è RowDepthAt (https://docs.xojo.com/ListBox.RowDepthAt).
Questo ci permetterà di conoscere il valore dell’indentazione, o «profondità» nella gerarchia dell’elenco, corrispondente al numero di riga che passiamo come argomento. Così, ad esempio, una riga di primo livello restituirà il valore zero (0), mentre se la riga pende direttamente da un livello superiore della gerarchia restituirà il valore uno (1), e così via man mano che si va in profondità nella gerarchia di una riga radice o di primo livello.
Forse in questo momento sembra più complesso di quanto non sia in realtà; ma sono sicuro che quando vedrai il tutorial, e lo metterai in pratica, ti renderai conto che non è così.
Presto inizierai a utilizzare gli elenchi gerarchici nei tuoi progetti!
Inoltre, cosa importante, non è necessario limitarsi all’utilizzo di righe a discesa solo al primo livello della gerarchia, ma è possibile incorporare righe a discesa all’interno della gerarchia di qualsiasi altra voce anch’essa a discesa.
Un buon esempio di questo tipo di comportamento in azione, a cui ti consiglio di dare un’occhiata, è quello che puoi trovare nel progetto di esempio «FileBrowser» incluso nella cartella Progetti di esempio> Desktop> Controlli> ListBox.
–
Javier Rodriguez
- Ingegnere Xojo
- Twitter: @xojoes
- Facebook: http://facebook.com/xojoes/
- Scarica l’ultima versione da www.xojo.com
- Risorse Xojo in spagnolo: https://docs.xojo.com/spanish