Nodi
copia linkIntroduzione
Elenco dei metodi e degli eventi dell'albero relativi ai nodi non document oriented.
Refresh Nodes | Aggiorna il contenuto dell'albero rieseguendo le query opportune |
Expand Node | Espande un nodo di un albero |
Expand Nodes By Level | Espande o collassa tutti i nodi di un albero per livello di profondità |
Activate Node | Attiva un nodo dell'albero identificandolo tramite l'HashKey |
Get Active Node | Restituisce l'HashKey del nodo attivo |
Select Node | Seleziona un nodo dell'albero |
Get Selected Node Count | Restituisce il numero totale di nodi selezionati in un albero |
Get Selected Node | Restituisce l'HashKey dell'i-esimo nodo selezionato in un albero. |
Get Children Node Count | Restituisce il numero di nodi figli del nodo identificato tramite HashKey |
Get Children Node | Restituisce l'HashKey dell'i-esimo figlio del nodo identificato tramite HashKey |
Get Parent Node | Restituisce l'HashKey del nodo padre di quello fornito |
On Drop Node | Evento notificato dall'albero quando un nodo viene tirato su un'altro nodo |
On Activate Node | Evento notificato dall'albero quando un nodo viene attivato |
On Expand Node | Evento notificato dall'albero quando un nodo viene espanso per la prima volta |
On Change Selection | Evento notificato dall'albero quando cambia lo stato di selezione di un nodo |
Select All | Seleziona o deseleziona tutti i nodi dell'albero |
On Change Expand Node | Evento notificato dall'albero al cambiamento dello stato di apertura/chiusura di un nodo. |
Update Queries | Reinizializza le query dell'albero |
Identificazione dei nodi: la proprietà HashKey
Questo paragrafo descrive come il sistema identifica ogni singolo nodo di un albero il cui contenuto provenga da query su tabelle del database.
Ogni metodo, funzione ed evento contenuto nella cartella Nodes della libreria degli alberi possiede, infatti, almeno un parametro chiamato HashKey. Questo parametro è ciò che permette di identificare ed operare su un singolo nodo dell'albero.
Durante la fase di creazione dell'albero il sistema assegna ad ogni nuovo nodo un nome che deve essere univoco. Tale nome è calcolato come segue:
- Se esiste, nella query di un TreeItem, una colonna con DBCode uguale ad HASH il sistema utilizza il valore di questa colonna come nome del nodo;
- se non esiste una colonna con DBCode uguale ad HASH il sistema concatena tutti i valori delle colonne Primary Key utilizzate nella select list della query dei nodi dell'albero.
'C' +c ToString(IDCATEGORIA) as HASHed una colonna calcolata nella query dei prodotti così fatta:
'P' +c ToString(IDCATEGORIA) as HASHIn questo modo tutti i nodi delle categorie hanno un HashKey che inizia per 'C' mentre i nodi dei prodotti iniziano con 'P'.
Se non avessimo definito tali colonne calcolate tutti i nodi dell'albero avrebbero avuto come HashKey il loro ID con evidente sovrapposizione delle categorie con i prodotti. Se avessimo avuto necessità di attivare la categoria con ID uguale ad 1 avremmo dovuto chiamare la procedura SelectNode fornendo il valore '1' (stringa) come parametro. Il sistema non avrebbe potuto selezionare tale nodo in quanto avrebbe trovato 2 nodi diversi con lo stesso valore di HashKey. In questo caso, il nodo non sarebbe stato attivato ed avremmo visto un messaggio di Warning nella videata di Debug che segnalava l'ambiguità.
Badge
Questo paragrafo descrive come il sistema associa un Badge ad un nodo dell'albero.
- Albero DB : Se esiste, nella query di un TreeItem, una colonna con DBCode uguale a BADGE il sistema utilizza il valore di questa colonna come Badge del nodo.
- Albero DO : Il sistema chiede ad ogni documento il valore della Named property BADGE; il documento può usare l'evento OnGetNamedPropertyValue per assegnare il valore del Badge.
Query di un TreeItem DB con la colonna BADGE.
Evento DO utilizzato per associare un Badge ad un nodo di un albero.
Ultima modifica: 28/07/2022 / Validità: da 6.5.2680