English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Document Orientation

Set Document

procedura copia link

Scopo

Tramite questa procedura è possibile attaccare un documento al pannello, specificando anche il tipo (master o detail). Solitamente viene utilizzata per attaccare al pannello un documento master.

Sintassi

Pannello.SetDocument(documento, master)

Argomenti

documento E' il documento da attaccare al pannello. Deve essere un oggetto derivato dalla libreria IDDocument.
master True se il documento deve essere considerato come master, false se deve essere considerato come detail.

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
  }
}
  • Se il pannello è impostato in Master le operazioni di salvataggio e cancellazione verranno eseguite direttamente sul documento e quindi sul database; altrimenti il documento verrà segnalato come modificato o cancellato ma non sarà effettuata l'operazione di SaveToDB del documento.
  • In caso di blocco o sblocco di un pannello DO master, verranno bloccati o sbloccati tutti gli altri pannelli DO non master della stessa videata.
  • Se il pannello è impostato in Master, allora qualunque modifica al documento (anche nei sottodocumenti) farà sì che il pannello mostri l'indicatore di MODIFICATO nella caption.
  • Se il pannello è detail ed è attaccato ad un pannello master, l'operazione di salvataggio sul detail viene dirottata al pannello master.
  • L'uso di questa procedura con Master = False è equivalente all'impostazione della proprietà DOcument del pannello quindi è consigliabile usare questa procedura in tutti i casi di documenti master.
  • L'uso di questa procedura richiede che il pannello sia in layout Form, per evitare che l'utente operi su altre righe di una collection non presente. Per ottenere lo stesso risultato con un pannello in layout List è necessario usare la procedura SetCollection.

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

Vedi Anche

  • ID Document
  • Save To DB (funzione)
  • Document (proprietà)
  • Set Collection (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum