Scopo
Questa proprietà permette di abilitare o disabilitare la gestione della selezione multipla dei nodi dell'albero. Se viene attivata la multi-selezione viene disegnato un check-box accanto ad ogni nodo come mostrato nell'immagine seguente:

L'immagine mostra come cambia la visualizzazione dell'albero per permettere all'utente di selezionare più di un nodo.
Sintassi
Albero.MultipleSelection := True
Quando letta
Restituisce True se l'albero gestisce la selezione multipla, False altrimenti.
Quando impostata
Se impostata a True abilita la gestione della selezione multipla dell'albero. Il valore predefinito è False.
Esempio di codice
// **************************************************
// Fired after changes in panel are saved to database
// **************************************************
event AlberoCategorie.Parametri.AfterCommit(
int RowsUpdated // Number of rows inserted or updated
int RowsInErrors // Number of rows that cannot be updated due to database errors
)
{
// Gestione dei null
Parametri.Caption := NullValue(Parametri.Caption, Categorie.Caption)
Parametri.Width := NullValue(Parametri.Width, Categorie.Width)
Parametri.Height := NullValue(Parametri.Height, Categorie.Height)
//
// Se è cambiata la dimensione... devo aggiornare l'interfaccia utente
if Parametri.Width <> Categorie.Width OR Parametri.Height <> Categorie.Height
{
this.UpdateScreen()
}
//
// Scrivo le proprietà
Categorie.Caption := Parametri.Caption
Categorie.Enabled := Parametri.Enabled
Categorie.MultipleSelection := Parametri.MultipleSelection
Categorie.DragAndDrop := Parametri.DragAndDrop
Categorie.ActivateOnExpand := Parametri.ActivateOnExpand
Categorie.Width := Parametri.Width
Categorie.Height := Parametri.Height
Categorie.Active := Parametri.Active
}
// Fired after changes in panel are saved to database
// **************************************************
event AlberoCategorie.Parametri.AfterCommit(
int RowsUpdated // Number of rows inserted or updated
int RowsInErrors // Number of rows that cannot be updated due to database errors
)
{
// Gestione dei null
Parametri.Caption := NullValue(Parametri.Caption, Categorie.Caption)
Parametri.Width := NullValue(Parametri.Width, Categorie.Width)
Parametri.Height := NullValue(Parametri.Height, Categorie.Height)
//
// Se è cambiata la dimensione... devo aggiornare l'interfaccia utente
if Parametri.Width <> Categorie.Width OR Parametri.Height <> Categorie.Height
{
this.UpdateScreen()
}
//
// Scrivo le proprietà
Categorie.Caption := Parametri.Caption
Categorie.Enabled := Parametri.Enabled
Categorie.MultipleSelection := Parametri.MultipleSelection
Categorie.DragAndDrop := Parametri.DragAndDrop
Categorie.ActivateOnExpand := Parametri.ActivateOnExpand
Categorie.Width := Parametri.Width
Categorie.Height := Parametri.Height
Categorie.Active := Parametri.Active
}
- E' consigliabile utilizzare questa proprietà nell'evento di Load della videata se si desidera abilitare la gestione della selezione multipla per un singolo albero.
- E' possibile selezionare i nodi dell'albero mediante le procedure SelectNode (nel caso di alberi su database) e SelectAll.
- Se si desidera che i check-box di selezione siano attivi, e quindi quando l'utente ne seleziona uno venga immediatamente inviata una richiesta al server, occorre impostare a True la proprietà Active dell'albero.
-
E' possibile specificare quali nodi possano essere selezionati:
- per gli alberi i cui nodi provengano da query del database è sufficiente aggiungere alla query di un TreeItem una colonna il cui DBCode sia uguale a CANCHECK. Se il valore di tale colonna è uguale a Zero il nodo non è selezionabile altrimenti è selezionabile. Se la colonna non è stata definita nella query tutti i nodi da essa derivata sono selezionabili.
- per gli alberi document-oriented è sufficiente definire, nel corrispondente documento collegato al nodo dell'albero, una proprietà pubblica di tipo Integer che utilizzi un Dominio il cui Concept sia uguale a DO_CANCHECK. Poi è possibile assegnare a tale proprietà il valore True o False per indicare se il corrispondente nodo è o meno selezionabile. Se la proprietà non viene definita, o ha valore diverso da False, il corrispondente nodo è selezionabile.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680