Condizioni di notifica
Questo evento viene notificato dal pannello quando i dati presenti nella riga attiva del pannello cambiano. Questo può avvenire per diverse ragioni; ecco una lista dei principali casi:
- L'utente seleziona una riga diversa nel pannello usando i comandi dell'interfaccia utente.
- L'utente modifica i dati presenti nella riga attuale del pannello.
- Il programma impone al pannello di cambiare la riga selezionata attraverso l'uso della proprietà ActualPosition.
- Il programma modifica i dati della riga attiva del pannello utilizzando la tabella IMDB sottesa al pannello.
- Il pannello cambia stato per effetto di un comando dell'utente o del programma.
- La master query del pannello viene rieseguita.
Utilizzo consigliato
L'evento di OnChangeRow può essere utilizzato per aggiornare le parti dell'interfaccia utente che dipendono dal valore dei dati presenti nella riga selezionata del pannello.
Argomenti
L'evento non ha argomenti. I dati presenti nella riga attiva del pannello possono essere letti dalla tabella IMDB sottesa; il numero di riga selezionata è presente nella proprietà ActualPosition del pannello.Esempio di codice
// ********************************************
// Fired when the active row in a panel changes
// ********************************************
event Prodotti.Prodotti.OnChangeRow()
{
// Se la riga attiva non contiene un prodotto...
if IsNull(Prodotti.IdProdotto)
{
// Nascondo la voce di menù perchè non c'è un prodotto nella riga corrente
ApriDistintaBase.Visible := False
}
else
{
ApriDistintaBase.Visible := True
}
}
// Fired when the active row in a panel changes
// ********************************************
event Prodotti.Prodotti.OnChangeRow()
{
// Se la riga attiva non contiene un prodotto...
if IsNull(Prodotti.IdProdotto)
{
// Nascondo la voce di menù perchè non c'è un prodotto nella riga corrente
ApriDistintaBase.Visible := False
}
else
{
ApriDistintaBase.Visible := True
}
}
- Questo evento non deve essere utilizzato per gestire la validazione dei dati inseriti dall'utente. Per questo è necessario utilizzare l'evento OnUpdatingRow.
- Questo evento viene lanciato anche prima dell'evento di Load della form, quando ancora la videata è in fase di inizializzazione. Se si fa riferimento ad altri oggetti visuali è necessario proteggere il codice in un blocco TRY per evitare errori di mancata inizializzazione degli oggetti stessi.
- Questo evento è definito ricorrente perché può essere lanciato diverse volte nell'ambito della risposta del server al browser, per garantire che tutte le condizioni di modifica dei dati siano coperte. Per questo deve essere utilizzato in modalità stateless, e non dovrebbe contenere query o algoritmi complessi al suo interno.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680