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

On Change Expand Doc

evento 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 OnChangeExpandDoc 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 OnChangeExpandDoc 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 il documento corrispondente all'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

Documento E' il documento che è stato aperto o chiuso. Il parametro è di tipo IDDocument e può essere castato al tipo corretto qualora sia necessario estrarne informazioni proprie della classe che estende IDDocument.
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
  }
}

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

  • 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 ExpandDoc o ExpandNodesByLevel, l'evento non viene notificato.

Vedi Anche

  • Expand Doc (procedura)
  • Expand Nodes By Level (procedura)
  • ID Document

Ti serve altro aiuto?

Consulta il Forum