Set Collection

procedura copia link

Scopo

Attacca una collection di documenti al pannello. Dalla versione 6.9 è possibile attaccare la collection anche in modalità Master.

Sintassi

Pannello.SetCollection(collection, master)

Argomenti

Collection E' la collection da attaccare al pannello.
Master Parametro opzionale booleano con valore di default false. Se impostato a True permette di attaccare la collection al pannello in modalità Master.

Esempio di codice

// ***************************************
// Fired when a document node is activated
// ***************************************

event EsploratoreCategorie.Albero.OnActivateDoc(
  IDDocument Document  // Source document that has been activated
  inout boolean Cancel // Set to True to cancel further processing
)
{
  // Sblocco il pannello (se è vuoto si blocca...)
  Prodotto.Locked := False
  // 
  // Se nell'albero ho cliccato su un prodotto...

  if Prodotto.IsMyInstance(Document)
  {
    // Lo imposto nel pannello come master, così le modifiche
    // potranno essere salvate nel DB.

    Prodotto.SetDocument(Document, True)
    // 
    // Vado in dettaglio

    Prodotto.Layout := Form
  }
  else  // Allora è una cstegoria
  {
    Categoria c = null // 
    // 
    // Prendo la categoria

    c := Categoria.Cast(Document)
    // 
    // Metto i prodotti nel pannello

    Prodotto.SetCollection(c.Prodotti)
    // 
    // Torno in lista

    Prodotto.Layout := List
  }
}
  • La collection deve derivare dalla libreria IDCollection e deve contenere documenti dello stesso tipo su cui è stato costruito il pannello a compile time, altrimenti possono avvenire dei malfunzionamenti.
  • Attaccando una collection al pannello vengono impostate le proprietà Locked a true e Lockable a false, e viene automaticamente portato in stato Data. A seconda delle esigenze applicative potrebbe quindi essere necessario impostare la proprietà Locked a false per poter modificare i documenti della collection.
  • Se si attacca la collection in modalità Master, allora il pannello potrà comandare il salvataggio sul database quando l'utente preme il relativo bottone. Eventualmente è possibile riattivare la proprietà Lockable del pannello che si disabilita a causa della chiamata alla SetCollection.
  • Se si attacca la collection in modalità Master, allora il pannello permetterà anche la ricerca. Eventualmente è possibile disattivare tale funzionalità tramite la procedura CanSelect del pannello.
  • Se quando si utilizza questa procedura la collection è ordinata e il pannello no, al pannello viene applicato lo stesso ordinamento posseduto dalla collection.
  • Il parametro OpzioniMaster è stato inserito in versione 6.9.

Ultima modifica: 22/09/2021 / Validità: da 8.0.3560