Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controllo DataGridView può visualizzare i dati in tre modalità distinte: collegato, scollegato e virtuale. Scegliere la modalità più adatta in base alle esigenze.
Non associato
La modalità non associata è adatta per la visualizzazione di quantità relativamente ridotte di dati gestiti programmaticamente. Il controllo DataGridView non viene collegato direttamente a un'origine dati come in modalità vincolata. È invece necessario popolare il controllo manualmente, in genere usando il metodo DataGridViewRowCollection.Add.
La modalità non associata può essere particolarmente utile per i dati statici, di sola lettura o quando si vuole fornire codice personalizzato che interagisce con un archivio dati esterno. Quando si desidera che gli utenti interagiscano con un'origine dati esterna, generalmente si utilizza la modalità vincolata.
Per un esempio che utilizza un DataGridViewnon associato di sola lettura, vedere Procedura: Creare un controllo DataGridView di Windows Forms non associato.
Limite
La modalità associata è adatta per la gestione dei dati tramite l'interazione automatica con il database. È possibile collegare il controllo DataGridView direttamente all'origine dati impostando la proprietà DataSource. Quando il controllo è associato a dati, le righe di dati vengono spostate e estratte senza la necessità di una gestione esplicita da parte dell'utente. Quando la proprietà AutoGenerateColumns è true, ogni colonna nell'origine dati determinerà la creazione di una colonna corrispondente nel controllo. Se si preferisce creare colonne personalizzate, è possibile impostare questa proprietà su false e utilizzare la proprietà DataPropertyName per associare ogni colonna durante la configurazione. Ciò è utile quando si desidera utilizzare un tipo di colonna diverso dai tipi generati per impostazione predefinita. Per ulteriori informazioni, consultare Tipi di colonne nel controllo DataGridView dei Windows Forms.
Per un esempio che usa un controllo DataGridView associato, vedere Procedura dettagliata: Convalida dei dati nel controllo DataGridView di Windows Forms.
È anche possibile aggiungere colonne non associate a un controllo DataGridView in modalità vincolata. Ciò è utile quando si desidera visualizzare una colonna di pulsanti o collegamenti che consentono agli utenti di eseguire azioni su righe specifiche. È anche utile visualizzare colonne con valori calcolati da colonne collegate. È possibile popolare i valori delle celle per le colonne calcolate all'interno di un gestore dell'evento CellFormatting. Se stai utilizzando un DataSet o DataTable come origine dati, tuttavia, potresti voler utilizzare la proprietà DataColumn.Expression per creare una colonna calcolata. In questo caso, il controllo DataGridView tratterà la colonna calcolata esattamente come qualsiasi altra colonna nell'origine dati.
L'ordinamento per colonne non associate in modalità vincolata non è supportato. Se si crea una colonna non associata in modalità associata che contiene valori modificabili dall'utente, è necessario implementare la modalità virtuale per mantenere questi valori quando il controllo viene ordinato in base a una colonna associata.
Virtuale
Con la modalità virtuale, è possibile implementare operazioni di gestione dei dati personalizzate. Ciò è necessario per mantenere i valori delle colonne non associate in modalità associata quando il controllo viene ordinato in base alle colonne associate. L'uso principale della modalità virtuale, tuttavia, consiste nell'ottimizzare le prestazioni quando si interagisce con grandi quantità di dati.
Il controllo DataGridView viene collegato a una cache gestita e il codice controlla quando viene eseguito il push e il pull delle righe di dati. Per mantenere il footprint di memoria ridotto, la cache deve avere dimensioni simili al numero di righe attualmente visualizzate. Quando l'utente scorre nuove righe nella visualizzazione, il codice richiede nuovi dati dalla cache e, facoltativamente, scarica i dati precedenti dalla memoria.
Quando si implementa la modalità virtuale, sarà necessario tenere traccia quando è necessaria una nuova riga nel modello di dati e quando eseguire il rollback dell'aggiunta della nuova riga. L'implementazione esatta di questa funzionalità dipenderà dall'implementazione del modello di dati e dalla semantica delle transazioni del modello di dati; se l'ambito di commit è a livello di cella o di riga.
Per ulteriori informazioni sulla modalità virtuale, vedere modalità virtuale nel controllo DataGridView di Windows Forms. Per un esempio che illustra come usare gli eventi in modalità virtuale, consultare Procedura dettagliata: Implementazione della modalità virtuale nel controllo DataGridView di Windows Forms.
Vedere anche
- DataGridView
- DataGridView.DataSource
- DataGridView.VirtualMode
- BindingSource
- DataGridViewColumn.DataPropertyName
- Visualizzazione dei dati nel controllore DataGridView di Windows Forms
- Tipologie di colonne nel controllo DataGridView di Windows Forms
- Procedura dettagliata: Creazione di un controllo DataGridView non associato di Windows Forms
- Procedura: Associare dati al controllo DataGridView di Windows Form
- Modalità Virtuale nel controllo DataGridView di Windows Forms
- Procedura dettagliata: implementazione della modalità virtuale nel controllo DataGridView di Windows Forms
.NET Desktop feedback