Scopo
Questa funzione permette di reperire l'oggetto associato ad un tag precedentemente impostato sul pannello. Di solito viene utilizzato all'interno di un evento o procedura di gestione personalizzata dei pannelli.
Sintassi
IDPanel PannelloTag = null // Oggetto Pannello passato come tag
//
PannelloTag := Panel.GetObjectTag(nome tag)
//
PannelloTag := Panel.GetObjectTag(nome tag)
Argomenti
Nome Tag | Nome dell'oggetto associato al pannello da recuperare |
Valore di ritorno
Viene ritornato l'oggetto associato al tag oppure NullObject se il tag non era stato impostato nel pannello.
Esempio di codice
// *********************************************************************
// Fired in a web-based application when a user clicks on a row selector
// *********************************************************************
event EsempiAM.GlobalPanelActivatingRow(
IDPanel Panel // Object that fires this event
)
{
IDPanel Dettaglio = null // Il pannello di dettaglio acceduto genericamente
//
// recupero il pannello di dettaglio
Dettaglio := Panel.GetObjectTag(PDETT)
//
// Al pannello era stato associato un pannello di dettaglio, allora editiamo il record nel
// dettaglio
if NOT(Dettaglio IS Null Object)
{
int pfkeyl = 0 // Campo pannello chiave in lista
int pfkeyd = 0 // Campo pannello chiave in dettaglio
//
// Recupero l'indicazione del campo chiave in lista
pfkeyl := Panel.GetTag(PFKEY)
//
// Recupero l'indicazione del campo chiave nel dettaglio
pfkeyd := Dettaglio.GetTag(PFKEY)
//
// Se non è stato definita la chiave sulla lista...
if IsNull(pfkeyl)
{
// Non posso continuare
return
}
//
// Se non è stato definita la chiave sul dettaglio...
if IsNull(pfkeyd)
{
// Non posso continuare
return
}
//
// Posiziono il dettaglio sulla riga della lista
Dettaglio.EnterQBEMode()
Dettaglio.SetQBEFilter(pfkeyd, Panel.GetFieldText(pfkeyl))
Dettaglio.FindData()
}
}
// Fired in a web-based application when a user clicks on a row selector
// *********************************************************************
event EsempiAM.GlobalPanelActivatingRow(
IDPanel Panel // Object that fires this event
)
{
IDPanel Dettaglio = null // Il pannello di dettaglio acceduto genericamente
//
// recupero il pannello di dettaglio
Dettaglio := Panel.GetObjectTag(PDETT)
//
// Al pannello era stato associato un pannello di dettaglio, allora editiamo il record nel
// dettaglio
if NOT(Dettaglio IS Null Object)
{
int pfkeyl = 0 // Campo pannello chiave in lista
int pfkeyd = 0 // Campo pannello chiave in dettaglio
//
// Recupero l'indicazione del campo chiave in lista
pfkeyl := Panel.GetTag(PFKEY)
//
// Recupero l'indicazione del campo chiave nel dettaglio
pfkeyd := Dettaglio.GetTag(PFKEY)
//
// Se non è stato definita la chiave sulla lista...
if IsNull(pfkeyl)
{
// Non posso continuare
return
}
//
// Se non è stato definita la chiave sul dettaglio...
if IsNull(pfkeyd)
{
// Non posso continuare
return
}
//
// Posiziono il dettaglio sulla riga della lista
Dettaglio.EnterQBEMode()
Dettaglio.SetQBEFilter(pfkeyd, Panel.GetFieldText(pfkeyl))
Dettaglio.FindData()
}
}
- Se si assegna il valore di ritorno ad una variabile di tipo errato rispetto all'oggetto associato al tag si otterrà un'eccezione.
Ultima modifica: 06/09/2024 / Validità: da 6.8.3060