Scopo
Rappresenta la collection di documenti attaccata al pannello. Può essere usata solo se il pannello è document oriented.
Sintassi
IDCollection col = null // La collection attaccata al pannello
//
col := Pannello.Collection
//
col := Pannello.Collection
Quando letta
Ritorna un oggetto che deriva dalla libreria IDCollection che rappresenta la collection attaccata al pannello. Può ritornare Null Object se nessuna collection è attualmente attaccata al pannello.
Quando impostata
Attacca una nuova collection al pannello. Il pannello si predispone in modalita non 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.Collection := c.Prodotti
//
// Torno in lista
Prodotto.Layout := List
}
}
// 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.Collection := c.Prodotti
//
// Torno in lista
Prodotto.Layout := List
}
}
- Attaccando una collection al pannello, esso si predispone in modalità non master (vedi le note della procedura SetDocument per maggiori informazioni).
- Per manipolare la collection di un pannello DO in modalità master è possibile reperire l'oggetto IDCollection che il pannello si crea all'apertura della form con questa proprietà ed utilizzare quello.
- 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.
Ultima modifica: 14/02/2018 / Validità: da 6.5.2680