Architettura del controllo DataGridView (Windows Form)
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 e DataGridViewColumnDataGridViewRow, derivano entrambi dalla DataGridViewBand classe base.
Il DataGridView controllo interagisce con diverse classi, ma il più comunemente rilevato è DataGridViewCell, DataGridViewColumne DataGridViewRow.
DataGridViewCell
La cella è l'unità fondamentale di interazione per .DataGridView La visualizzazione è allineata al centro sulle celle e l'immissione dei dati viene spesso eseguita tramite celle. È 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 DataGridViewCell ereditarietà.
Il DataGridViewCell tipo è una classe base astratta, da cui derivano tutti i tipi di cella. DataGridViewCelle i relativi tipi derivati non sono Windows Form controlli, ma alcuni controlli host Windows Form. Qualsiasi funzionalità di modifica supportata da una cella viene in genere gestita da un controllo ospitato.
DataGridViewCellgli oggetti non controllano l'aspetto e le caratteristiche di 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 classe personalizzata che deriva da o una DataGridViewCell delle relative classi figlio.
L'elenco seguente mostra le classi derivate da DataGridViewCell:
Tipi di cella personalizzati
Datagridviewcolumn
Lo schema dell'archivio DataGridView dati collegato del controllo è espresso nelle DataGridView colonne del controllo. È possibile accedere alle DataGridView colonne del controllo usando la Columns raccolta . È possibile accedere alle colonne selezionate usando la SelectedColumns raccolta . Il modello a oggetti seguente illustra questo utilizzo e mostra la gerarchia di DataGridViewColumn ereditarietà.
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, vedere Procedura: Ospitare controlli in Windows Form celle DataGridView.
Nella tabella seguente viene illustrata la relazione tra tipi di cella, tipi di colonna e controlli di modifica.
Datagridviewrow
La DataGridViewRow classe visualizza i campi dati di un record dall'archivio dati a cui è associato il DataGridView controllo. È possibile accedere alle DataGridView righe del controllo usando la Rows raccolta . È possibile accedere alle righe selezionate usando la SelectedRows raccolta . Il modello a oggetti seguente illustra questo utilizzo e mostra la gerarchia di DataGridViewRow ereditarietà.
È 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 Windows Form.
Vedi anche
.NET Desktop feedback
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per