Freigeben über


Architektur des DataGridView-Steuerelements (Windows Forms)

Das DataGridView-Kontrollelement und die zugehörigen Klassen sind ein flexibles, ausbaufähiges System für die Anzeige und Bearbeitung von tabellarischen Daten. Diese Klassen sind alle im System.Windows.Forms-Namespace enthalten, und sie werden alle mit dem Präfix "DataGridView" benannt.

Architekturelemente

Die primären DataGridView-Begleitlassen sind von DataGridViewElement abgeleitet. Das folgende Objektmodell veranschaulicht die DataGridViewElement Vererbungshierarchie.

Diagramm mit der Hierarchie des DataGridViewElement-Objektmodells.

Die DataGridViewElement-Klasse bietet einen Verweis auf das übergeordnete DataGridView-Steuerelement und verfügt über eine State-Eigenschaft mit einem Wert, der eine Kombination von Werten aus der DataGridViewElementStates-Enumeration darstellt.

In den folgenden Abschnitten werden die DataGridView-Begleitklassen ausführlicher beschrieben.

DataGridViewElementStates

Die DataGridViewElementStates-Enumeration verfügt über folgende Werte:

Die Werte dieser Enumeration können mit den bitweisen logischen Operatoren kombiniert werden, sodass die State-Eigenschaft mehrere Status gleichzeitig ausdrücken kann. Beispielsweise kann DataGridViewElement gleichzeitig Frozen, Selected, und Visible sein.

Zellen und Bänder

Das DataGridView-Steuerelement umfasst zwei grundlegende Arten von Objekten: Zellen und Bänder. Alle Zellen werden von der DataGridViewCell Basisklasse abgeleitet. Die beiden Arten von Bändern (DataGridViewColumn und DataGridViewRow) sind beide von der DataGridViewBand-Basisklasse abgeleitet.

Das DataGridView-Steuerelement interagiert mit mehreren Klassen, aber die am häufigsten vorkommenden sind DataGridViewCell, DataGridViewColumn und DataGridViewRow.

DataGridViewCell

Die Zelle ist die grundlegende Interaktionseinheit für DataGridView. Die Anzeige wird auf Zellen zentriert, und die Dateneingabe erfolgt häufig über Zellen. Sie können mithilfe der Cells-Sammlung der DataGridViewRow-Klasse auf Zellen und mithilfe der SelectedCells-Sammlung des DataGridView-Steuerelements auf die ausgewählten Zellen zugreifen. Das folgende Objektmodell veranschaulicht diese Nutzung und die DataGridViewCell-Vererbungshierarchie.

Diagramm mit der Hierarchie des DataGridViewCell-Objektmodells.

Der DataGridViewCell Typ ist eine abstrakte Basisklasse, von der alle Zelltypen abgeleitet sind. DataGridViewCell und die abgeleiteten Typen sind keine Windows Forms-Steuerelemente, aber einige beherbergen Windows Forms-Steuerelemente. Alle von einer Zelle unterstützten Bearbeitungsfunktionen werden in der Regel von einem gehosteten Steuerelement behandelt.

DataGridViewCell-Objekte steuern ihr eigenes Aussehen und ihre Zeichenfeatures nicht auf dieselbe Weise wie Windows Forms-Steuerelemente. Stattdessen ist DataGridView für das Aussehen der zugehörigen DataGridViewCell-Objekte verantwortlich. Sie können die Darstellung und das Verhalten von Zellen erheblich beeinflussen, indem Sie mit den Eigenschaften und Ereignissen des Steuerelements DataGridView interagieren. Wenn Sie spezielle Anforderungen an Anpassungen haben, die über die Funktionen des DataGridView-Steuerelements hinausgehen, können Sie Ihre eigene Klasse implementieren, die von DataGridViewCell oder einer seiner untergeordneten Klassen abgeleitet wird.

Die folgende Liste zeigt die von DataGridViewCellabgeleiteten Klassen:

DataGridViewColumn

Das Schema des an das DataGridView-Steuerelement angefügten Datenspeichers wird in den Spalten des DataGridView-Steuerelements ausgedrückt. Sie können mithilfe der DataGridView-Sammlung auf die Spalten des Columns-Steuerelements zugreifen. Sie können mithilfe der SelectedColumns-Sammlung auf die ausgewählten Spalten zugreifen. Das folgende Objektmodell veranschaulicht diese Nutzung und die DataGridViewColumn-Vererbungshierarchie.

Diagramm, das die Hierarchie des DataGridViewColumn-Objektmodells anzeigt.

Einige der Schlüsselzellentypen weisen entsprechende Spaltentypen auf. Diese sind von der DataGridViewColumn-Basisklasse abgeleitet.

Die folgende Liste zeigt die von DataGridViewColumnabgeleiteten Klassen:

DataGridView-Bearbeitungssteuerelemente

Zellen, die erweiterte Bearbeitungsfunktionen unterstützen, verwenden in der Regel ein gehostetes Steuerelement, das von einem Windows Forms-Steuerelement abgeleitet wird. Diese Steuerelemente implementieren auch die IDataGridViewEditingControl-Schnittstelle. Das folgende Objektmodell veranschaulicht die Verwendung dieser Steuerelemente.

Diagramm mit der Objektmodellhierarchie für das DataGridView-Bearbeitungssteuerelement

Die folgenden Bearbeitungssteuerelemente werden mit dem DataGridView-Steuerelement bereitgestellt:

Informationen zum Erstellen eigener Steuerelemente finden Sie unter Hosten von Steuerelementen in DataGridView-Zellen in Windows Forms.

In der folgenden Tabelle wird die Beziehung zwischen Zelltypen, Spaltentypen und Bearbeitungssteuerelementen veranschaulicht.

Zelltyp Gehostetes Steuerelement Spaltentyp
DataGridViewButtonCell n/a DataGridViewButtonColumn
DataGridViewCheckBoxCell n/a DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell n/a DataGridViewImageColumn
DataGridViewLinkCell n/a DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

Die DataGridViewRow-Klasse zeigt die Datenfelder eines Datensatzes aus dem Datenspeicher an, an den das DataGridView-Steuerelement angefügt ist. Sie können mithilfe der DataGridView-Sammlung auf die Zeilen des Rows-Steuerelements zugreifen. Sie können mithilfe der SelectedRows-Sammlung auf die ausgewählten Zeilen zugreifen. Das folgende Objektmodell veranschaulicht diese Nutzung und die DataGridViewRow-Vererbungshierarchie.

Diagramm mit der Hierarchie des DataGridViewRow-Objektmodells.

Sie können ihre eigenen Typen von der DataGridViewRow Klasse ableiten, obwohl dies in der Regel nicht erforderlich ist. Das DataGridView-Steuerelement verfügt über mehrere zeilenbezogene Ereignisse und Eigenschaften, mit denen Sie das Verhalten seiner DataGridViewRow-Objekte anpassen können.

Wenn Sie die DataGridView-Eigenschaft des AllowUserToAddRows-Steuerelements aktivieren, wird als letzte Zeile eine spezielle Zeile zum Hinzufügen neuer Zeilen angezeigt. Diese Zeile ist Teil der Rows Kollektion, hat jedoch spezielle Funktionen, die Ihre Aufmerksamkeit erfordern könnten. Weitere Informationen finden Sie unter Verwenden der Zeile für neue Datensätze im DataGridView-Steuerelement in Windows Forms.

Siehe auch