English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Oggetti UI
  • Libreria Tree
  • Nodi

On Change Expand Node

evento copia link

Condizioni di notifica

Ogni nodo possiede due diversi stati: aperto e chiuso. Quando un nodo è aperto viene mostrata l'icona - (che permette di chiuderlo), il nome e tutti i sottonodi in esso contenuto; quando un nodo è chiuso viene mostrata solo l'icona + (che permette di aprirlo) ed il nome.

L'evento OnChangeExpandNode viene notificato dall'albero quando l'utente preme l'icona mostrata accanto al nome del nodo stesso che permette di modificarne lo stato di apertura/chiusura.

Utilizzo consigliato

L'evento di OnChangeExpandNode può essere utilizzato, per esempio, per impedire che un particolare nodo venga espanso. Per fare questo è sufficiente gestire l'evento e valorizzare il parameto Cancel a True quando viene espanso un nodo che non può essere espanso. Può anche essere utilizato per aprire un solo nodo alla volta. Nell'evento si può memorizzare l'identificativo dell'ultimo nodo espanso e ad ogni nuova espansione si chiude il nodo espanso precedentemente. In questo modo l'utente vede sempre e solo un nodo aperto.

Può anche essere utilizzato per memorizzare su database lo stato di apertura/chiusura dei vari nodi presenti nell'albero. Quando l'utente tornerà sull'albero il sistema potrebbe mostrarlo così come l'utente l'ha lasciato l'ultima volta che l'ha visto.

Argomenti

Hashkey E' una stringa che identifica il nodo che è stato selezionato. Per sapere cosa è un HashKey puoi leggere il paragrafo "Identificazione dei nodi: la proprietà HashKey" dell'articolo Nodi dell'albero.
Collapsed E' un valore booleano che indica se il nodo è stato chiuso (True) o aperto (False).
Cancel E' un parametro di uscita booleano. Se viene impostato a True l'operazione di apertura/chiusura viene annullata.

Esempio di codice

// ****************************************************************************
// Evento notificato dall'albero al cambiamento dello stato di
// apertura/chiusura di un nodo
// ****************************************************************************

event FileSystem.FSTree.OnChangeExpandDoc(
  IDDocument Documento // E' il documento che è stato espanso o collassato...
  boolean Collapsed    // Indica se il nodo è stato chiuso (True) o aperto...
  inout boolean Cancel // Impostando a True questo parametro si annulla la...
)
{
  // Se sono il nodo principale
  if Documento.Parent IS Null Object
  {
    // Impedisco che mi chiudano
    Cancel := True
  }
}
  • Attenzione: L'evento viene notificato solo se il nodo è stato aperto/chiuso dall'utente mediante click sull'apposita immagine mostrata accanto al nodo. Se un nodo viene aperto o chiuso da codice, tramite le procedure ExpandNode o ExpandNodesByLevel, l'evento non viene notificato.

Ultima modifica: 25/10/2016 / Validità: da 8.1.3650

Vedi Anche

  • Expand Node (procedura)
  • Expand Nodes By Level (procedura)
  • Nodi

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum