Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das DataGridView Steuerelement verwendet mehrere Spaltentypen, um seine Informationen anzuzeigen und Benutzern das Ändern oder Hinzufügen von Informationen zu ermöglichen.
Wenn Sie ein DataGridView Steuerelement binden und die AutoGenerateColumns Eigenschaft truefestlegen, werden Spalten automatisch mithilfe der Standardspaltentypen generiert, die für die in der gebundenen Datenquelle enthaltenen Datentypen geeignet sind.
Sie können auch Instanzen einer der Spaltenklassen selbst erstellen und der von der Columns Eigenschaft zurückgegebenen Sammlung hinzufügen. Sie können diese Instanzen für die Verwendung als ungebundene Spalten erstellen oder manuell binden. Manuell gebundene Spalten sind beispielsweise hilfreich, wenn Sie eine automatisch generierte Spalte eines Typs durch eine Spalte eines anderen Typs ersetzen möchten.
In der folgenden Tabelle werden die verschiedenen Spaltenklassen beschrieben, die im DataGridView-Steuerelement verfügbar sind.
| Klasse | BESCHREIBUNG |
|---|---|
| DataGridViewTextBoxColumn | Wird mit textbasierten Werten verwendet. Wird beim Binden an Zahlen und Zeichenfolgen automatisch generiert. |
| DataGridViewCheckBoxColumn | Wird mit Boolean und CheckState Werten verwendet. Wird beim Binden an Werte dieser Typen automatisch generiert. |
| DataGridViewImageColumn | Wird zum Anzeigen von Bildern verwendet. Wird automatisch generiert, wenn eine Bindung an Bytearrays, Image Objekte oder Icon Objekte erfolgt. |
| DataGridViewButtonColumn | Wird zum Anzeigen von Schaltflächen in Zellen verwendet. Wird beim Binden nicht automatisch generiert. Wird in der Regel als ungebundene Spalten verwendet. |
| DataGridViewComboBoxColumn | Wird verwendet, um Dropdownlisten in Zellen anzuzeigen. Wird beim Binden nicht automatisch generiert. Daten werden in der Regel manuell gebunden. |
| DataGridViewLinkColumn | Wird verwendet, um Verknüpfungen in Zellen anzuzeigen. Wird beim Binden nicht automatisch generiert. Daten werden in der Regel manuell gebunden. |
| Ihr benutzerdefinierter Spaltentyp | Sie können eine eigene Spaltenklasse erstellen, indem Sie die DataGridViewColumn Klasse oder eine der abgeleiteten Klassen erben, um benutzerdefinierte Darstellung, Verhalten oder gehostete Steuerelemente bereitzustellen. Weitere Informationen finden Sie unter Anleitung: Anpassen von Zellen und Spalten im Windows Forms DataGridView-Steuerelement durch Erweiterung ihres Verhaltens und Erscheinungsbildes |
Diese Spaltentypen werden in den folgenden Abschnitten ausführlicher beschrieben.
DataGridViewTextBoxColumn
Dies DataGridViewTextBoxColumn ist ein allgemeiner Spaltentyp für die Verwendung mit textbasierten Werten wie Zahlen und Zeichenfolgen. Im Bearbeitungsmodus wird ein TextBox Steuerelement in der aktiven Zelle angezeigt, sodass Benutzer den Zellwert ändern können.
Zellwerte werden automatisch in Zeichenfolgen für die Anzeige konvertiert. Vom Benutzer eingegebene oder geänderte Werte werden automatisch analysiert, um einen Zellwert des entsprechenden Datentyps zu erstellen. Sie können diese Konvertierungen anpassen, indem Sie die CellFormatting und CellParsing Ereignisse des DataGridView Steuerelements behandeln.
Der Zellwert-Datentyp einer Spalte wird in der ValueType Eigenschaft der Spalte angegeben.
DataGridViewCheckBoxSpalte
Dies DataGridViewCheckBoxColumn wird mit Boolean und CheckState Werten verwendet.
Boolean Werte werden je nach Wert der ThreeState Eigenschaft als Kontrollkästchen mit zwei oder drei Zuständen angezeigt. Wenn die Spalte an CheckState Werte gebunden ist, ist der Eigenschaftswert ThreeState standardmäßig true.
In der Regel sind Kontrollkästchen-Zellwerte entweder zur Speicherung vorgesehen, wie jede andere Daten, oder für Massenoperationen. Wenn Sie sofort reagieren möchten, wenn Benutzer auf eine Kontrollkästchenzelle klicken, können Sie das CellClick Ereignis behandeln, dieses Ereignis tritt jedoch auf, bevor der Zellwert aktualisiert wird. Wenn Sie zum Zeitpunkt des Klicks den neuen Wert benötigen, gibt es die Möglichkeit zu berechnen, was der erwartete Wert basierend auf dem aktuellen Wert sein wird. Ein weiterer Ansatz besteht darin, die Änderung sofort zu übernehmen und das CellValueChanged Ereignis zu behandeln, um darauf zu reagieren. Um die Änderung zu übernehmen, wenn auf die Zelle geklickt wird, müssen Sie das CurrentCellDirtyStateChanged Ereignis behandeln. Wenn die aktuelle Zelle eine Kontrollkästchenzelle ist, rufen Sie die CommitEdit-Methode auf und übergeben Sie den Commit-Wert.
DataGridViewImageColumn
Dies DataGridViewImageColumn wird zum Anzeigen von Bildern verwendet. Bildspalten können automatisch aus einer Datenquelle aufgefüllt, manuell für ungebundene Spalten aufgefüllt oder dynamisch in einem Handler für das CellFormatting Ereignis ausgefüllt werden.
Die automatische Population einer Bildspalte aus einer Datenquelle funktioniert mit Bytearrays in einer Vielzahl von Bildformaten, einschließlich aller Formate, die von der Image Klasse und dem von Microsoft® Access und der Northwind-Beispieldatenbank verwendeten OLE-Bildformat unterstützt werden.
Das manuelle Auffüllen einer Bildspalte ist nützlich, wenn Sie die Funktionalität einer DataGridViewButtonColumn, aber mit einer angepassten Darstellung bereitstellen möchten. Sie können das DataGridView.CellClick Ereignis behandeln, um auf Klicks innerhalb einer Bildzelle zu reagieren.
Das Auffüllen der Zellen einer Bildspalte in einem Handler für das CellFormatting Ereignis ist nützlich, wenn Sie Bilder für berechnete Werte oder Werte in Nicht-Bildformaten bereitstellen möchten. Sie können zum Beispiel eine Spalte "Risiko" mit Zeichenfolgenwerten wie "high", "middle" und "low" haben, die Sie als Symbole darstellen möchten. Alternativ können Sie über eine Spalte "Bild" verfügen, die die Speicherorte von Bildern enthält, die geladen werden müssen, anstatt den binären Inhalt der Bilder.
DataGridViewButtonColumn
Mit dem Steuerelement DataGridViewButtonColumn können Sie eine Spalte mit Zellen anzeigen, die Schaltflächen enthalten. Dies ist nützlich, wenn Sie Ihren Benutzern eine einfache Möglichkeit bieten möchten, Aktionen für bestimmte Datensätze auszuführen, z. B. eine Bestellung aufzugeben oder untergeordnete Datensätze in einem separaten Fenster anzuzeigen.
Schaltflächenspalten werden beim Binden eines DataGridView Steuerelements nicht automatisch generiert. Um Schaltflächenspalten zu verwenden, müssen Sie sie manuell erstellen und der von der DataGridView.Columns Eigenschaft zurückgegebenen Sammlung hinzufügen.
Sie können auf Benutzerklicks in Schaltflächenzellen reagieren, indem Sie das DataGridView.CellClick Ereignis behandeln.
DatenrasterAnsichtKombinationsfeldSpalte
Mit dem DataGridViewComboBoxColumnDialogfeld können Sie eine Spalte mit Zellen anzeigen, die Dropdownlistenfelder enthalten. Dies ist nützlich für die Dateneingabe in Feldern, die nur bestimmte Werte enthalten können, z. B. die Spalte "Kategorie" der Tabelle "Produkte" in der Northwind-Beispieldatenbank.
Sie können die Dropdownliste, die für alle Zellen verwendet wird, auf dieselbe Weise auffüllen, wie Sie eine ComboBox-Dropdownliste auffüllen würden, entweder manuell durch die von der Items-Eigenschaft zurückgegebene Auflistung oder durch Binden an eine Datenquelle über die DataSource, DisplayMember und ValueMember-Eigenschaften. Weitere Informationen finden Sie unter ComboBox-Steuerelement.
Sie können die tatsächlichen Zellwerte an die Datenquelle binden, die vom DataGridView-Steuerelement verwendet wird, indem Sie die DataPropertyName-Eigenschaft des System.Windows.Forms.DataGridViewComboBoxColumn festlegen.
Kombinationsfeldspalten werden beim Binden eines DataGridView Steuerelements nicht automatisch generiert. Um Kombinationsfeldspalten zu verwenden, müssen Sie sie manuell erstellen und der von der Columns Eigenschaft zurückgegebenen Sammlung hinzufügen.
DataGridViewLinkColumn
Mit dem DataGridViewLinkColumn, können Sie eine Spalte mit Zellen anzeigen, die Links enthalten. Dies ist nützlich für URL-Werte innerhalb der Datenquelle oder als Alternative zur Verwendung einer Schaltflächenspalte für spezielle Funktionen, wie zum Beispiel das Öffnen eines Fensters mit untergeordneten Datensätzen.
Verknüpfungsspalten werden beim Datenbinden eines DataGridView Steuerelements nicht automatisch generiert. Um Verknüpfungsspalten zu verwenden, müssen Sie sie manuell erstellen und der von der Columns Eigenschaft zurückgegebenen Sammlung hinzufügen.
Sie können auf Benutzerklicks auf Links reagieren, indem Sie das CellContentClick Ereignis behandeln. Dieses Ereignis ist verschieden von den CellClick- und CellMouseClick-Ereignissen, die auftreten, wenn ein Benutzer auf eine beliebige Stelle in einer Zelle klickt.
Die DataGridViewLinkColumn Klasse stellt mehrere Eigenschaften zur Verfügung, um die Darstellung von Verknüpfungen zu ändern, bevor, während und nachdem sie angeklickt werden.
Siehe auch
- DataGridView
- DataGridViewColumn
- DataGridViewButtonColumn
- DataGridViewCheckBoxColumn
- DataGridViewComboBoxColumn
- DataGridViewImageColumn
- DataGridViewTextBoxColumn
- DataGridViewLinkColumn
- DataGridView-Steuerelement
- Vorgehensweise: Anzeigen von Bildern in Zellen des Windows Forms DataGridView-Steuerelements
- Arbeiten mit Bildspalten im DataGridView-Steuerelement in Windows Forms
- Anpassen des DataGridView-Steuerelements von Windows Forms
.NET Desktop feedback