| dalla versione 6.5.2680 - modificato il 25/10/2016 - link - english
|
Condizioni di notifica
Questo evento viene notificato da un pannello con multi-selezione attiva quando l'insieme delle righe selezionate cambia. Questo può avvenire quando:
- L'utente seleziona o deselezione una o più righe del pannello.
- Il programma modifica l'insieme delle righe selezionate utilizzando la funzione SetRowSelected.
Utilizzo consigliato
Questo evento può essere utilizzato per aggiornare le parti dell'interfaccia utente che dipendono dall'insieme delle righe selezionate. Ad esempio è possibile calcolare il numero di righe selezionate o un totale relativo alle stesse.
Siccome questo evento è cancellabile, è anche possibile evitare che la selezione cambi in modi non desiderati.
Argomenti
Selected
|
E' un valore booleano che vale True se la riga per cui viene chiamato l'evento è stata selezionata. I dati della riga per cui viene chiamato l'evento sono disponibili, come al solito, nella tabella IMDB sottesa al pannello.
|
Final
|
Questo evento viene chiamato per ogni riga per cui cambia lo stato di selezionato, più una volta al termine dell'operazione. Durante quest'ultima chiamata il parametro Final vale True.
|
Cancel
|
Può essere impostato a True per evitare il cambio di selezione (vale solo se Final = false).
|
Note
-
L'evento viene notificato una volta per ogni riga che è stata selezionata o deselezionata, più una volta al termine della modifica della selezione. Quest'ultima fase può essere usata per ricalcolare i totali o agire sull'intera selezione.
-
Siccome l'evento è cancellabile, esso viene notificato prima che lo stato di selezionato della riga cambi. In questo senso, se il pannello è DO, la proprietà Selected del documento relativo alla riga per cui viene chiamato l'evento non è ancora cambiata, ma lo sarà solo alla fine della gestione dell'evento se non viene impostato il parametro Cancel.
-
Dalla versione 9.5 è possibile conoscere la riga per cui è stata cambiata la selezione tramite la funzione ValidatingRow.
event Prodotti.Prodotti.OnChangeSelection(
boolean Selected
boolean Final
inout boolean Cancel
)
{
int i = 1
int s = 0
if Final
{
for each row (Prodotti)
{
record Prodotto
...
if Prodotti.IsRowSelected(i)
{
s := s + Prodotto.Scorte
}
i := i + ONE
}
Prodotti.LabelTotale.Caption := MSG Scorta Prodotti +c ToString(s)
}
}
Cosa ne pensi?
Ti sono rimaste delle domande su punti che questo articolo non ha trattato? Pensi che sia utile aggiungere una nota all'articolo? Aiutaci a migliorare la documentazione di Instant Developer scrivendo il tuo commento nei campi qui sotto.