DataGridView-kontrollarkitektur (Windows-formulär)

Den DataGridView kontrollen och dess relaterade klasser är utformade för att vara ett flexibelt, utökningsbart system för att visa och redigera tabelldata. De här klasserna finns alla i System.Windows.Forms namnrymd och de namnges alla med prefixet "DataGridView".

Arkitekturelement

De primära DataGridView kompletterande klasserna härleds från DataGridViewElement. Följande objektmodell illustrerar DataGridViewElement arvshierarkin.

diagram som visar objektmodellhierarkin DataGridViewElement.

Klassen DataGridViewElement innehåller en referens till den överordnade DataGridView-kontrollen och har en egenskap State, som innehåller ett värde som representerar en kombination av värden från DataGridViewElementStates uppräkning.

I följande avsnitt beskrivs de DataGridView kompletterande klasserna i detalj.

DataGridViewElementStates

Uppräkningen DataGridViewElementStates innehåller följande värden:

Värdena för den här uppräkningen kan kombineras med de bitvis logiska operatorerna, så att egenskapen State kan uttrycka mer än ett tillstånd samtidigt. Till exempel kan en DataGridViewElement vara Frozen, Selectedoch Visiblesamtidigt.

Celler och band

Kontrollen DataGridView består av två grundläggande typer av objekt: celler och band. Alla celler härleds från basklassen DataGridViewCell. De två typerna av band, DataGridViewColumn och DataGridViewRow, härleds båda från basklassen DataGridViewBand.

DataGridView kontrollern fungerar tillsammans med flera klasser, men de som oftast förekommer är DataGridViewCell, DataGridViewColumnoch DataGridViewRow.

DataGridViewCell

Cellen är den grundläggande interaktionsenheten för DataGridView. Visning är centrerad på celler och datainmatning utförs ofta via celler. Du kan komma åt celler med hjälp av Cells-samlingen i DataGridViewRow-klassen och de markerade cellerna med hjälp av SelectedCells-samlingen i DataGridView-kontrollen. Följande objektmodell illustrerar den här användningen och visar DataGridViewCell arvshierarkin.

diagram som visar objektmodellhierarkin DataGridViewCell.

Den DataGridViewCell typen är en abstrakt basklass som alla celltyper härleds från. DataGridViewCell och dess härledda typer är inte Windows Forms-kontroller, men vissa kan vara värdar för Windows Forms-kontroller. Alla redigeringsfunktioner som stöds av en cell hanteras vanligtvis av en värdbaserad kontroll.

DataGridViewCell objekt styr inte sina egna utseende- och målningsfunktioner på samma sätt som Windows Forms-kontroller. I stället ansvarar DataGridView för utseendet på sina DataGridViewCell-objekt. Du kan avsevärt påverka cellernas utseende och beteende genom att interagera med DataGridView kontrolls egenskaper och händelser. När du har särskilda krav för anpassningar som ligger utanför funktionerna i den DataGridView kontrollen kan du implementera din egen klass som härleds från DataGridViewCell eller någon av dess underordnade klasser.

I följande lista visas de klasser som härleds från DataGridViewCell:

DataGridViewColumn

Schemat för DataGridView-kontrollens anslutna datalager uttrycks i DataGridView-kontrollens kolumner. Du kan komma åt DataGridView-kontrollens kolumner med hjälp av samlingen Columns. Du kan komma åt de valda kolumnerna med hjälp av samlingen SelectedColumns. Följande objektmodell illustrerar den här användningen och visar DataGridViewColumn arvshierarkin.

Diagram som visar hierarkin för DataGridViewColumn Object Model.

Vissa av nyckelcellstyperna har motsvarande kolumntyper. Dessa härleds från basklassen DataGridViewColumn.

I följande lista visas de klasser som härleds från DataGridViewColumn:

Redigeringskontroller för DataGridView

Celler som stöder avancerade redigeringsfunktioner använder vanligtvis en värdbaserad kontroll som härleds från en Windows Forms-kontroll. Dessa kontroller implementerar också IDataGridViewEditingControl-gränssnittet. Följande objektmodell illustrerar användningen av dessa kontroller.

Diagram som visar hierarkin för DataGridView Editing Control Object Model.

Följande redigeringskontroller tillhandahålls med DataGridView kontroll:

Information om hur du skapar egna redigeringskontroller finns i How to: Host Controls in Windows Forms DataGridView Cells.

I följande tabell visas relationen mellan celltyper, kolumntyper och redigeringskontroller.

Celltyp Värdbaserad kontroll Kolumntyp
DataGridViewButtonCell Inte tillämpligt DataGridViewButtonColumn
DataGridViewCheckBoxCell Inte tillämpligt DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell Inte tillämpligt DataGridViewImageColumn
DataGridViewLinkCell Inte tillämpligt DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

Klassen DataGridViewRow visar datafälten för en post från datalagret som DataGridView kontrollen är kopplad till. Du kan komma åt DataGridView-kontrollens rader med hjälp av samlingen Rows. Du kan komma åt de markerade raderna med hjälp av samlingen SelectedRows. Följande objektmodell illustrerar den här användningen och visar DataGridViewRow arvshierarkin.

Diagram som visar hierarkin för DataGridViewRow-objektmodell.

Du kan härleda dina egna typer från klassen DataGridViewRow, men detta är vanligtvis inte nödvändigt. Kontrollen DataGridView har flera radrelaterade händelser och egenskaper för att anpassa beteendet för dess DataGridViewRow objekt.

Om du aktiverar DataGridView kontrollens egenskap AllowUserToAddRows visas en särskild rad för att lägga till nya rader som den sista raden. Den här raden är en del av samlingen Rows, men den har särskilda funktioner som kan kräva din uppmärksamhet. Mer information finns i Använda raden för nya poster i Windows Forms DataGridView-kontrollen.

Se även