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 DataGridView controllo e le relative classi sono progettati per essere un sistema flessibile ed estendibile per la visualizzazione e la modifica di dati tabulari. Queste classi sono tutte contenute nello spazio dei System.Windows.Forms nomi e sono tutte denominate con il prefisso "DataGridView".
Elementi dell'architettura
Le classi complementari primarie DataGridView derivano da DataGridViewElement. Il modello a oggetti seguente illustra la gerarchia di DataGridViewElement ereditarietà.
La DataGridViewElement classe fornisce un riferimento al controllo padre DataGridView e dispone di una State proprietà che contiene un valore che rappresenta una combinazione di valori dell'enumerazione DataGridViewElementStates .
Le sezioni seguenti descrivono le DataGridView classi complementari in modo più dettagliato.
DataGridViewElementStates
L'enumerazione DataGridViewElementStates contiene i valori seguenti:
I valori di questa enumerazione possono essere combinati con gli operatori logici bit per bit, in modo che la State proprietà possa esprimere più di uno stato contemporaneamente. Ad esempio, un DataGridViewElement oggetto può essere simultaneamente Frozen, Selectede Visible.
Celle e bande
Il DataGridView controllo comprende due tipi fondamentali di oggetti: celle e bande. Tutte le celle derivano dalla DataGridViewCell classe base. I due tipi di bande, DataGridViewColumn e DataGridViewRow, derivano entrambi dalla classe base DataGridViewBand.
Il DataGridView controllo interagisce con diverse classi, ma il più comunemente rilevato è DataGridViewCell, DataGridViewColumne DataGridViewRow.
DataGridViewCell
La cella è l'unità fondamentale di interazione per il DataGridView. La visualizzazione è centrata sulle celle e l'immissione dei dati viene spesso effettuata attraverso di esse. È possibile accedere alle celle usando la Cells raccolta della DataGridViewRow classe ed è possibile accedere alle celle selezionate usando la SelectedCells raccolta del DataGridView controllo . Il modello a oggetti seguente illustra questo utilizzo e mostra la gerarchia di ereditarietà di DataGridViewCell.
Il DataGridViewCell tipo è una classe base astratta, da cui derivano tutti i tipi di cella. DataGridViewCell e i relativi tipi derivati non sono controlli di Windows Forms, ma ospitano alcuni controlli di Windows Forms. Qualsiasi funzionalità di modifica supportata da una cella viene in genere gestita da un controllo ospitato.
DataGridViewCell gli oggetti non controllano le proprie caratteristiche di aspetto e disegno nello stesso modo dei controlli Windows Form. L'oggetto DataGridView è invece responsabile dell'aspetto dei relativi DataGridViewCell oggetti. È possibile influire in modo significativo sull'aspetto e sul comportamento delle celle interagendo con DataGridView le proprietà e gli eventi del controllo. Quando si hanno requisiti speciali per le personalizzazioni che superano le funzionalità del DataGridView controllo, è possibile implementare una propria classe che deriva da DataGridViewCell o una delle sue classi figlio.
L'elenco seguente mostra le classi derivate da DataGridViewCell:
Tipi di cella personalizzati
DataGridViewColumn
Lo schema dell'archivio dati collegato al controllo DataGridView è espresso nelle colonne del controllo DataGridView. È possibile accedere alle colonne del controllo DataGridView utilizzando la collezione Columns. È possibile accedere alle colonne selezionate usando la collezione SelectedColumns. Il modello a oggetti seguente illustra questo utilizzo e mostra la gerarchia di ereditarietà di DataGridViewColumn.
Alcuni tipi di cella chiave hanno tipi di colonna corrispondenti. Questi sono derivati dalla DataGridViewColumn classe base.
L'elenco seguente mostra le classi derivate da DataGridViewColumn:
Tipi di colonna personalizzati
Controlli di modifica di DataGridView
Le celle che supportano la funzionalità di modifica avanzata usano in genere un controllo ospitato derivato da un controllo Windows Form. Questi controlli implementano anche l'interfaccia IDataGridViewEditingControl . Il modello a oggetti seguente illustra l'utilizzo di questi controlli.
I controlli di modifica seguenti vengono forniti con il DataGridView controllo :
Per informazioni sulla creazione di controlli di modifica personalizzati, consultare la pagina Procedura: Ospitare controlli nelle celle DataGridView di Windows Form.
Nella tabella seguente viene illustrata la relazione tra tipi di cella, tipi di colonna e controlli di modifica.
| Tipo di cella | Controllo ospitato | Tipo di colonna |
|---|---|---|
| DataGridViewButtonCell | non disponibile | DataGridViewButtonColumn |
| DataGridViewCheckBoxCell | non disponibile | DataGridViewCheckBoxColumn |
| DataGridViewComboBoxCell | DataGridViewComboBoxEditingControl | DataGridViewComboBoxColumn |
| DataGridViewImageCell | non disponibile | DataGridViewImageColumn |
| DataGridViewLinkCell | non disponibile | DataGridViewLinkColumn |
| DataGridViewTextBoxCell | DataGridViewTextBoxEditingControl | DataGridViewTextBoxColumn |
DataGridViewRow
La DataGridViewRow classe visualizza i campi dati di un record dall'archivio dati a cui è associato il DataGridView controllo. Puoi accedere alle DataGridView righe del controllo usando la Rows raccolta. È possibile usare la raccolta SelectedRows per accedere alle righe selezionate. Il modello a oggetti seguente illustra questo utilizzo e mostra la gerarchia di ereditarietà di DataGridViewRow.
È possibile derivare tipi personalizzati dalla DataGridViewRow classe , anche se questo in genere non sarà necessario. Il DataGridView controllo dispone di diversi eventi e proprietà correlati alle righe per personalizzare il comportamento dei relativi DataGridViewRow oggetti.
Se si abilita la DataGridView proprietà del AllowUserToAddRows controllo, viene visualizzata una riga speciale per l'aggiunta di nuove righe come ultima riga. Questa riga fa parte della Rows raccolta, ma dispone di funzionalità speciali che potrebbero richiedere attenzione. Per altre informazioni, vedere Uso della riga per i nuovi record nel controllo DataGridView di Windows Form.
Vedere anche
.NET Desktop feedback