Architektur des DataGridView-Steuerelements (Windows Forms)
Aktualisiert: November 2007
Das DataGridView-Steuerelement und seine verwandten Klassen wurden als flexibles, erweiterbares System zur Anzeige und Bearbeitung von Tabellendaten entwickelt. Sämtliche Klassen sind im System.Windows.Forms-Namespace enthalten und verfügen über das Präfix "DataGridView" in ihrem Namen.
Architekturelemente
Die primären DataGridView-Assistentenklassen werden von DataGridViewElement abgeleitet. Das folgende Objektmodell veranschaulicht die Vererbungshierarchie des DataGridViewElement.
DataGridViewElement-Objektmodell
Die DataGridViewElement-Klasse stellt einen Verweis auf das übergeordnete DataGridView-Steuerelement bereit und verfügt über die State-Eigenschaft mit einem Wert, der eine Kombination der Werte aus der DataGridViewElementStates-Enumeration darstellt.
In den folgenden Abschnitten werden die DataGridView-Assistentenklassen ausführlicher beschrieben.
DataGridViewElementStates
Die DataGridViewElementStates-Enumeration verfügt über folgende Werte.
Die Werte dieser Enumeration können mit bitweisen logischen Operatoren kombiniert werden, sodass die State-Eigenschaft mehrere Zustände gleichzeitig wiedergeben kann. Beispielsweise kann DataGridViewElement gleichzeitig Frozen, Selected und Visible entsprechen.
Zellen und Bänder
Das DataGridView-Steuerelement umfasst zwei grundlegende Objekttypen: Zellen und Bänder. Alle Zellen werden von der DataGridViewCell-Basisklasse abgeleitet. Die beiden Bandtypen DataGridViewColumn und DataGridViewRow werden von der DataGridViewBand-Basisklasse abgeleitet.
Das DataGridView-Steuerelement wirkt mit mehreren Klassen, am häufigsten jedoch mit DataGridViewCell, DataGridViewColumn und DataGridViewRow zusammen.
DataGridViewCell
Die Zelle stellt die grundlegende Interaktionseinheit für DataGridView dar. Die Anzeige beruht auf Zellen, und auch für die Dateneingabe werden häufig Zellen verwendet. Für den Zugriff auf Zellen verwenden Sie die Cells-Auflistung der DataGridViewRow-Klasse und für den Zugriff auf ausgewählte Zellen die SelectedCells-Auflistung des DataGridView-Steuerelements. Das folgende Objektmodell veranschaulicht diese Verwendungsmöglichkeit und stellt die Vererbungshierarchie des DataGridViewCell dar.
DataGridViewCell-Objektmodell
Der Typ DataGridViewCell ist eine abstrakte Basisklasse, von der alle Zellentypen abgeleitet werden. DataGridViewCell und die zugehörigen abgeleiteten Typen sind keine Windows Forms-Steuerelemente, einige Typen fungieren jedoch als Host für Windows Forms-Steuerelemente. Jede von einer Zelle unterstützte Bearbeitungsfunktion wird üblicherweise von einem gehosteten Steuerelement behandelt.
DataGridViewCell-Objekte sind nicht in der Lage, ihre Darstellungs- und Zeichenfeatures auf dieselbe Weise wie Windows Forms-Steuerelemente zu steuern. Stattdessen ist DataGridView für die Darstellung der DataGridViewCell-Objekte zuständig. Durch die Interaktion mit den Eigenschaften und Ereignissen des DataGridView-Steuerelements können Sie die Darstellung und das Verhalten von Zellen entscheidend beeinflussen. Wenn Sie spezielle Anpassungen vornehmen möchten, die über die Fähigkeiten des DataGridView-Steuerelements hinausgehen, können Sie eine eigene Klasse implementieren, die von DataGridViewCell oder einer der untergeordneten Klassen abgeleitet wird.
Die folgende Liste enthält die von DataGridViewCell abgeleiteten Klassen:
Benutzerdefinierte Zellentypen
DataGridViewColumn
Das Schema des an das DataGridView-Steuerelement angefügten Datenspeichers wird in den Spalten des DataGridView-Steuerelements angegeben. Für den Zugriff auf die Spalten des DataGridView-Steuerelements verwenden Sie die Columns-Auflistung. Für den Zugriff auf ausgewählte Spalten verwenden Sie die SelectedColumns-Auflistung. Das folgende Objektmodell veranschaulicht diese Verwendungsmöglichkeit und stellt die Vererbungshierarchie des DataGridViewColumn dar.
DataGridViewColumn-Objektmodell
Einige der wichtigsten Zellentypen verfügen über entsprechende Spaltentypen. Diese werden von der DataGridViewColumn-Basisklasse abgeleitet.
Die folgende Liste enthält die von DataGridViewColumn abgeleiteten Klassen:
Benutzerdefinierte Spaltentypen
DataGridView-Bearbeitungssteuerelemente
Zellen, die erweiterte Bearbeitungsfunktionen unterstützen, verwenden normalerweise ein von einem Windows Forms-Steuerelement abgeleitetes, gehostetes Steuerelement. Von diesen Steuerelementen wird auch die IDataGridViewEditingControl-Schnittstelle implementiert. Das folgende Objektmodell veranschaulicht die Verwendung dieser Steuerelemente.
Objektmodell für das DataGridView-Bearbeitungssteuerelement
Die folgenden Bearbeitungssteuerelemente werden mit dem DataGridView-Steuerelement bereitgestellt:
Informationen zum Erstellen eigener Bearbeitungssteuerelemente finden Sie unter Gewusst wie: Hosten von Steuerelementen in DataGridView-Zellen in Windows Forms.
In der folgenden Tabelle werden die Beziehungen zwischen Zellentypen, Spaltentypen und Bearbeitungssteuerelementen veranschaulicht.
Zellentyp |
Gehostetes Steuerelement |
Spaltentyp |
---|---|---|
nicht verfügbar |
||
nicht verfügbar |
||
nicht verfügbar |
||
nicht verfügbar |
||
DataGridViewRow
Durch die DataGridViewRow-Klasse werden die Datenfelder eines Datensatzes aus dem Datenspeicher angezeigt, an den das DataGridView-Steuerelement angefügt ist. Für den Zugriff auf die Zeilen des DataGridView-Steuerelements verwenden Sie die Rows-Auflistung. Für den Zugriff auf ausgewählte Zeilen verwenden Sie die SelectedRows-Auflistung. Das folgende Objektmodell veranschaulicht diese Verwendungsmöglichkeit und stellt die Vererbungshierarchie des DataGridViewRow dar.
DataGridViewRow-Objektmodell
Sie können eigene Typen von der DataGridViewRow-Klasse ableiten, obwohl dies normalerweise nicht notwendig ist. Das DataGridView-Steuerelement verfügt über mehrere zeilenbezogene Ereignisse und Eigenschaften zum Anpassen des Verhaltens seiner DataGridViewRow-Objekte.
Wenn Sie für das DataGridView-Steuerelement die AllowUserToAddRows-Eigenschaft aktivieren, wird an letzter Position eine spezielle Zeile zum Hinzufügen neuer Zeilen eingeblendet. Diese Zeile gehört zwar zur Rows-Auflistung, verfügt jedoch über spezielle Funktionen, die u. U. beachtet werden müssen. Weitere Informationen finden Sie unter Verwenden der Zeile für neue Datensätze im DataGridView-Steuerelement in Windows Forms.
Siehe auch
Konzepte
Verwenden der Zeile für neue Datensätze im DataGridView-Steuerelement in Windows Forms
Referenz
Übersicht über das DataGridView-Steuerelement (Windows Forms)