Architektur des DataGridView-Steuerelements (Windows Forms)
Das DataGridView-Steuerelement und seine zugehörigen Klassen sind als flexibles, erweiterbares System zum Anzeigen und Bearbeiten von Tabellendaten konzipiert. Diese Klassen sind alle im System.Windows.Forms-Namespace enthalten und mit dem Präfix DataGridView versehen.
Architekturelemente
Die primären DataGridView-Begleitlassen sind von DataGridViewElement abgeleitet. Das folgende Objektmodell veranschaulicht die DataGridViewElement-Vererbungshierarchie.
Die DataGridViewElement-Klasse bietet einen Verweis auf das übergeordnete DataGridView-Steuerelement und hat 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 mehr als einen Zustand auf einmal 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 sind 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 ist auf Zellen zentriert, die Dateneingabe erfolgt häufig über die Zellen. Sie können mithilfe der Cells-Sammlung der DataGridViewRow-Klasse auf Zellen zugreifen und mithilfe der SelectedCells-Sammlung des DataGridView-Steuerelements auf die ausgewählten Zellen zugreifen. Das folgende Objektmodell veranschaulicht diese Nutzung und die DataGridViewCell-Vererbungshierarchie.
Der DataGridViewCell-Typ ist eine abstrakte Basisklasse, von der alle Zellentypen abgeleitet sind. DataGridViewCell und seine abgeleiteten Typen sind keine Windows Forms-Steuerelemente, aber einige hosten Windows Forms-Steuerelemente. Alle von einer Zelle unterstützten Bearbeitungsfunktionen werden in der Regel von einem gehosteten Steuerelement übernommen.
DataGridViewCell-Steuerelemente steuern ihr eigenes Aussehen und ihre Zeichenfunktionen nicht auf dieselbe Weise wie Windows Forms-Steuerelemente. Stattdessen ist DataGridView für das Aussehen seiner DataGridViewCell-Objekte verantwortlich. Sie können Aussehen und Verhalten von Zellen erheblich beeinflussen, indem Sie mit den Eigenschaften und Ereignissen des DataGridView-Steuerelements interagieren. Wenn Sie spezielle Anpassungen benötigen, die über die Möglichkeiten des DataGridView-Steuerelements hinausgehen, können Sie Ihre eigene Klasse implementieren, die von DataGridViewCell oder einer seiner Unterklassen abgeleitet ist.
Die folgende Liste zeigt die von DataGridViewCell abgeleiteten Klassen:
Ihre benutzerdefinierten Zelltypen
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 Columns-Sammlung auf die Spalten des DataGridView-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.
Einige der Schlüsselzellentypen haben entsprechende Spaltentypen. Diese sind von der DataGridViewColumn-Basisklasse abgeleitet.
Die folgende Liste zeigt die von DataGridViewColumn abgeleiteten Klassen:
Ihre benutzerdefinierten Spaltentypen
DataGridView-Bearbeitungssteuerelemente
Zellen, die erweiterte Bearbeitungsfunktionen unterstützen, verwenden in der Regel ein gehostetes Steuerelement, das von einem Windows Forms-Steuerelement abgeleitet ist. Diese Steuerelemente implementieren auch die IDataGridViewEditingControl-Schnittstelle. Das folgende Objektmodell veranschaulicht die Nutzung dieser Steuerelemente.
Die folgenden Bearbeitungssteuerelemente werden mit dem DataGridView-Steuerelement bereitgestellt:
Informationen über die Erstellung eigener Steuerelemente finden Sie unter Vorgehensweise: Hosten von Steuerelementen in DataGridView-Zellen in Windows Forms.
Die folgende Tabelle veranschaulicht die Beziehung zwischen Zellen- und Spaltentypen und Bearbeitungssteuerelementen.
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 Rows-Sammlung auf die Zeilen des DataGridView-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.
Sie können Ihre eigenen Typen von der DataGridViewRow-Klasse ableiten, obwohl dies in der Regel nicht notwendig 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 AllowUserToAddRows-Eigenschaft des DataGridView-Steuerelements aktivieren, wird als letzte Zeile eine spezielle Zeile zum Hinzufügen neuer Zeilen angezeigt. Diese Zeile ist Teil der Rows-Sammlung, hat aber eine besondere Funktionalität, die Ihre Aufmerksamkeit erfordert. Weitere Informationen finden Sie unter Verwenden der Zeile für neue Datensätze im DataGridView-Steuerelement in Windows Forms.
Siehe auch
.NET Desktop feedback