Scopo
Annulla le modifiche ai dati effettuate dall'utente se il pannello è in stato MODIFIED oppure cancella i criteri di ricerca se esso è in stato QBE. E' l'equivalente del tasto F6-Annulla della toolbar del pannello.
Sintassi
// Annulla le modifiche
Pannello.UndoChanges()
Pannello.UndoChanges()
Argomenti
Questa procedura non ha argomenti.Esempio di codice
// **************************************************
// Cerca un testo nel nome del prodotto usando il QBE
// **************************************************
public void Prodotti2.BottoneCercaNome()
{
string n = "" // Il testo da cercare
//
// Chiedo all'utente che cosa vuole cercare
n := InputBox(MSG Inserisci Parte)
//
// Valore non ancora preso oppure non dato
if n = Empty String
{
return
}
//
// Annulla le eventuali modifiche del pannello
Prodotti.UndoChanges()
//
// Entra nello stato QBE
Prodotti.EnterQBEMode()
//
// Annulla gli eventuali criteri di ricerca precedenti
Prodotti.UndoChanges()
//
// Imposta il criterio NomeProdotto Like %...%
Prodotti.NomeProdotto.QBEFilter := Asterisco +c n +c Asterisco
//
// Cerca i dati
Prodotti.FindData()
}
// Cerca un testo nel nome del prodotto usando il QBE
// **************************************************
public void Prodotti2.BottoneCercaNome()
{
string n = "" // Il testo da cercare
//
// Chiedo all'utente che cosa vuole cercare
n := InputBox(MSG Inserisci Parte)
//
// Valore non ancora preso oppure non dato
if n = Empty String
{
return
}
//
// Annulla le eventuali modifiche del pannello
Prodotti.UndoChanges()
//
// Entra nello stato QBE
Prodotti.EnterQBEMode()
//
// Annulla gli eventuali criteri di ricerca precedenti
Prodotti.UndoChanges()
//
// Imposta il criterio NomeProdotto Like %...%
Prodotti.NomeProdotto.QBEFilter := Asterisco +c n +c Asterisco
//
// Cerca i dati
Prodotti.FindData()
}
- Se il pannello è in stato QBE il comando cancella i criteri di ricerca eventualmente presenti nei campi della master query (vedi proprietà QBEFilter).
- Se il pannello è in stato MODIFIED, qusto comando porta il pannello in stato DATA annullando le modifiche ai dati e causando la notifica di diversi eventi, fra i quali OnCommand, OnChangeStatus e OnChangeRow. Si consiglia si leggere i messaggi di debug dove è visibile l'elenco e la sequenza degli eventi notificati.
-
Anche se il pannello è in stato DATA, questo comando ha degli effetti di nota: il suo funzionamento consiste nel ricopiare i dati presenti nel "buffer video" (in cui il pannello memorizza i dati delle righe visibili) con quelli contenuti nel set di dati posseduto dal pannello stesso.
Questo può essere utile se, ad esempio, in una procedura Visual Code si utilizza un ciclo FOR-EACH sul recordset del pannello e si modificano i dati in esso contenuti. Dopo il ciclo è necessario usare il comando UndoChanges per far sì che i nuovi dati appaiano a video (consulta il video tutorial Mastro On Formatting). - Questo comando ha un meccanismo di funzionamento diverso dal comando UpdatePanel che invece aggiorna sia i dati sulla riga selezionata che eventualmente le query del pannello in base alle variazioni dell'intero database IMDB.
Ultima modifica: 31/10/2022 / Validità: da 6.5.2680