Delen via


DataGridView-besturingselementarchitectuur (Windows Forms)

De DataGridView controle en de bijbehorende klassen zijn ontworpen als een flexibel, uitbreidbaar systeem voor het weergeven en bewerken van tabelgegevens. Deze klassen bevinden zich allemaal in de System.Windows.Forms naamruimte en ze hebben allemaal de naam met het voorvoegsel DataGridView.

Architectuurelementen

De primaire DataGridView metgezelklassen zijn afgeleid van DataGridViewElement. Het volgende objectmodel illustreert de DataGridViewElement overnamehiërarchie.

diagram met de objectmodelhiërarchie DataGridViewElement.

De DataGridViewElement-klasse bevat een verwijzing naar het bovenliggende DataGridView besturingselement en heeft een eigenschap State, die een waarde bevat die een combinatie van waarden uit de opsomming DataGridViewElementStates vertegenwoordigt.

In de volgende secties worden de DataGridView metgezelklassen gedetailleerder beschreven.

DataGridViewElementStates

De opsomming DataGridViewElementStates bevat de volgende waarden:

De waarden van deze opsomming kunnen worden gecombineerd met de bitsgewijze logische operatoren, zodat de eigenschap State meerdere statussen tegelijk kan uitdrukken. Een DataGridViewElement kan bijvoorbeeld tegelijkertijd worden Frozen, Selecteden Visible.

Cellen en banden

Het DataGridView besturingselement bestaat uit twee fundamentele soorten objecten: cellen en banden. Alle cellen zijn afgeleid van de DataGridViewCell basisklasse. De twee soorten banden, DataGridViewColumn en DataGridViewRow, zijn beide afgeleid van de DataGridViewBand basisklasse.

De DataGridView controle werkt samen met verschillende klassen, maar de meest voorkomende zijn DataGridViewCell, DataGridViewColumnen DataGridViewRow.

DataGridViewCell

De cel is de fundamentele interactie-eenheid voor de DataGridView. Weergave is gecentreerd op cellen en gegevensinvoer wordt vaak uitgevoerd via cellen. U kunt cellen openen met behulp van de Cells verzameling van de DataGridViewRow-klasse en u hebt toegang tot de geselecteerde cellen met behulp van de SelectedCells verzameling van het besturingselement DataGridView. Het volgende objectmodel illustreert dit gebruik en toont de DataGridViewCell overnamehiërarchie.

diagram waarin de dataGridViewCell-objectmodelhiërarchie wordt weergegeven.

Het DataGridViewCell type is een abstracte basisklasse waaruit alle celtypen zijn afgeleid. DataGridViewCell en de afgeleide typen zijn geen besturingselementen voor Windows Forms, maar sommige afgeleiden hosten wel besturingselementen voor Windows Forms. Alle bewerkingsfuncties die door een cel worden ondersteund, worden meestal verwerkt door een gehoste besturingselement.

DataGridViewCell-objecten hebben geen controle over hun eigen uiterlijk en weergave-eigenschappen op dezelfde manier als Windows Forms-controles. In plaats daarvan is de DataGridView verantwoordelijk voor het uiterlijk van de DataGridViewCell-objecten. U kunt het uiterlijk en gedrag van cellen aanzienlijk beïnvloeden door te communiceren met de eigenschappen en gebeurtenissen van het besturingselement DataGridView. Wanneer u speciale vereisten hebt voor aanpassingen die buiten de mogelijkheden van de DataGridView controle vallen, kunt u uw eigen klasse implementeren die is afgeleid van DataGridViewCell of een van de onderliggende klassen.

De volgende lijst bevat de klassen die zijn afgeleid van DataGridViewCell:

DataGridViewColumn

Het schema van het gekoppelde gegevensarchief van het DataGridView besturingselement wordt uitgedrukt in de kolommen van het DataGridView besturingselement. U kunt de kolommen van het DataGridView besturingselement openen met behulp van de verzameling Columns. U kunt de geselecteerde kolommen openen met behulp van de SelectedColumns verzameling. Het volgende objectmodel illustreert dit gebruik en toont de DataGridViewColumn overnamehiërarchie.

diagram met de DataGridViewColumn Object Model-hiërarchie.

Sommige sleutelceltypen hebben overeenkomende kolomtypen. Deze zijn afgeleid van de DataGridViewColumn basisklasse.

De volgende lijst bevat de klassen die zijn afgeleid van DataGridViewColumn:

Besturingselementen voor bewerken van DataGridView

Cellen die geavanceerde bewerkingsfunctionaliteit ondersteunen, maken doorgaans gebruik van een gehost besturingselement dat is afgeleid van een Windows Forms-besturingselement. Deze besturingselementen implementeren ook de IDataGridViewEditingControl-interface. Het volgende objectmodel illustreert het gebruik van deze besturingselementen.

Diagram dat de objectmodelhiërarchie voor bewerkingscontrole van DataGridView toont.

De volgende bewerkingselementen worden geleverd met de DataGridView besturing:

Zie Hoe: Bedieningselementen hosten in Windows Forms DataGridView-cellenvoor meer informatie over het maken van uw eigen bewerkingselementen.

De volgende tabel illustreert de relatie tussen celtypen, kolomtypen en bewerkingsbesturingselementen.

Celtype Gehoste control Kolomtype
DataGridViewButtonCell n.v.t DataGridViewButtonColumn
DataGridViewCheckBoxCell n.v.t DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell n.v.t DataGridViewImageColumn
DataGridViewLinkCell n.v.t DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

In de DataGridViewRow klasse worden de gegevensvelden van een record uit het gegevensarchief weergegeven waaraan het besturingselement DataGridView is gekoppeld. U kunt de rijen van het DataGridView besturingselement openen door de Rows verzameling te gebruiken. U kunt de geselecteerde rijen openen met behulp van de SelectedRows verzameling. Het volgende objectmodel illustreert dit gebruik en toont de DataGridViewRow overnamehiërarchie.

diagram met de dataGridViewRow-objectmodelhiërarchie.

U kunt uw eigen typen afleiden uit de DataGridViewRow klasse, hoewel dit doorgaans niet nodig is. Het besturingselement DataGridView heeft verschillende rijgebeurtenissen en eigenschappen voor het aanpassen van het gedrag van de DataGridViewRow-objecten.

Als u de eigenschap DataGridView van het AllowUserToAddRows besturingselement inschakelt, wordt er een speciale rij voor het toevoegen van nieuwe rijen weergegeven als de laatste rij. Deze rij maakt deel uit van de verzameling Rows, maar heeft speciale functionaliteit die mogelijk uw aandacht vereist. Voor meer informatie, zie Gebruik de rij voor nieuwe records in het besturingselement Windows Forms DataGridView.

Zie ook