Se si tratta di dati in sola lettura, è possibile che l'evento CellValueNeeded sia l'unico a dover essere gestito.
Altri eventi in modalità virtuale consentono di attivare funzionalità specifiche, quali le modifiche da parte dell'utente, l'aggiunta e l'eliminazione di righe e le transazioni a livello di riga.
Alcuni eventi DataGridView standard (ad esempio, gli eventi che si verificano quando gli utenti aggiungono o eliminano righe o quando i valori delle celle vengono modificati, analizzati, convalidati o formattati) sono utili anche nella modalità virtuale.
È inoltre possibile gestire gli eventi che consentono di mantenere i valori che normalmente non sono archiviati in un'origine dati associata, quali il testo di descrizione comandi delle celle, il testo di errore delle celle e delle righe, i dati dei menu di scelta rapida delle celle e delle righe e i dati di altezza delle righe.
Per ulteriori informazioni sull'implementazione della modalità virtuale per la gestione dei dati di lettura/scrittura con un ambito di commit a livello di riga, vedere Procedura dettagliata: implementazione della modalità virtuale nel controllo DataGridView Windows Form.
Per un esempio di implementazione della modalità virtuale con un ambito di commit a livello di cella, vedere l'argomento di riferimento della proprietà VirtualMode.
Gli eventi seguenti si verificano solo quando la proprietà VirtualMode è impostata su true.
|
Evento
|
Descrizione
|
|
CellValueNeeded
|
Utilizzato dal controllo per recuperare un valore di cella dalla cache di dati per la visualizzazione.
Questo evento si verifica solo per le celle nelle colonne non associate.
|
|
CellValuePushed
|
Utilizzato dal controllo per applicare l'input dell'utente per una cella alla cache di dati.
Questo evento si verifica solo per le celle nelle colonne non associate.
Richiamare il metodo UpdateCellValue quando si modifica un valore memorizzato nella cache al di fuori di un gestore dell'evento CellValuePushed per garantire che il valore corrente sia visualizzato nel controllo e per applicare qualsiasi modalità di dimensionamento automatico attualmente in vigore.
|
|
NewRowNeeded
|
Utilizzato dal controllo per indicare l'esigenza di una nuova riga nella cache di dati.
|
|
RowDirtyStateNeeded
|
Utilizzato dal controllo per determinare se una riga contiene modifiche non applicate.
|
|
CancelRowEdit
|
Utilizzato dal controllo per indicare che devono essere ripristinati i valori memorizzati nella cache di una riga.
|
Gli eventi seguenti sono utili nella modalità virtuale, ma possono essere utilizzati indipendentemente dall'impostazione della proprietà VirtualMode.