Condizioni di notifica
Evento notificato alla videata quando viene chiusa un'altra videata modale (popup) che è stata aperta mentre la prima era attiva.
Utilizzo consigliato
L'evento di End Modal può essere utilizzato per recuperare e processare i dati della videata modale appena chiusa.
Argomenti
| LookupForm | È un numero intero che identifica il form modale appena chiuso, utilizzare la funzione Me dell'oggetto form per effettuare il confronto. |
| Result | True se l'utente ha confermato la scelta, chiudendo la videata modale tramite il bottone conferma nella barra del titolo, False altrimenti. E' possibile chiudere con conferma la videata anche tramite la procedura Close dell'oggetto form. |
| Cancel | Se impostato a True viene annullata ogni elaborazione automatica successiva. In questo caso il framework non cercherà di trasportare automaticamente i dati dal form modale al form chiamante. |
Esempio di codice
// ****************************************************************************
// Nell'evento di End Modal verifico che il form modale chiusa dall'utente
// sia il LookupProdotti, mediante un confronto tra il risultato della funzione
// Me e dell'argomento LookupForm. Se si recupero i dati e modifico i dati
// correnti.
// ****************************************************************************
event Ordini.EndModal(
int LookupForm // Identifica il lookup chiuso
boolean Result // True se l'utente ha confermato
inout boolean Cancel // Se True ferma l'elaborazione seguente
)
{
// Se è stata utilizzata la lookup per i prodotti
if LookupForm = LookupProdotti.Me() AND Result
{
DettagliOrdini.IdprodottoDettagliOrdini := LookupProdotti.Prodotti.
IdprodottoProdotto
}
//
// Se è stata chiuso il lookup per le impostazioni
// dell'invio mail invio la mail
if LookupForm = LookupMailSettings.Me() AND Result
{
this.CreaXLS(False, EsempiGL.MailSettings.EmailDestinatario)
}
}
// Nell'evento di End Modal verifico che il form modale chiusa dall'utente
// sia il LookupProdotti, mediante un confronto tra il risultato della funzione
// Me e dell'argomento LookupForm. Se si recupero i dati e modifico i dati
// correnti.
// ****************************************************************************
event Ordini.EndModal(
int LookupForm // Identifica il lookup chiuso
boolean Result // True se l'utente ha confermato
inout boolean Cancel // Se True ferma l'elaborazione seguente
)
{
// Se è stata utilizzata la lookup per i prodotti
if LookupForm = LookupProdotti.Me() AND Result
{
DettagliOrdini.IdprodottoDettagliOrdini := LookupProdotti.Prodotti.
IdprodottoProdotto
}
//
// Se è stata chiuso il lookup per le impostazioni
// dell'invio mail invio la mail
if LookupForm = LookupMailSettings.Me() AND Result
{
this.CreaXLS(False, EsempiGL.MailSettings.EmailDestinatario)
}
}
- L'evento è solitamente utilizzato per effettuare operazioni che dipendono direttamente dai dati appena scelti dall'utente nel form modale. Infatti nel momento in cui avviene la notifica i dati contenuti nella riga corrente del form modale (ma non l'intero recordset) sono ancora disponibili, e sono accessibili dal Visual Code come se la finestra fosse ancora aperta.
- Solitamente non è necessario ricorrere a questo evento per portare nella finestra chiamante la scelta dell'utente: se il lookup form è collegato ai campi di pannello questa operazione viene solitamente eseguita automaticamente dal framework. Tuttavia ci sono casi in cui l'operazione automatica non è possibile, ad esempio quando non esiste una relazione esplicita tra i dati da traportare .
Ultima modifica: 06/05/2024 / Validità: da 6.5.2680
evento