Vorgehensweise: Hinzufügen einer ungebundenen Spalte zu einem datengebundenen DataGridView-Steuerelement in Windows Forms

Die Daten, die Sie im DataGridView-Steuerelement anzeigen, stammen normalerweise aus einer Datenquelle einer bestimmten Art, aber möglicherweise möchten Sie eine Spalte mit Daten anzeigen, die nicht aus der Datenquelle stammen. Diese Art von Spalte wird als ungebundene Spalte bezeichnet. Ungebundene Spalten können viele Formen annehmen. Häufig werden sie verwendet, um Zugriff auf die Details einer Datenzeile bereitzustellen.

Im folgenden Codebeispiel wird das Erstellen einer nicht gebundenen Spalte von Details-Schaltflächen für die Anzeige einer untergeordneten Tabelle veranschaulicht, die zu einer bestimmten Zeile in einer übergeordneten Tabelle gehört, wenn Sie ein Master-/Detail-Szenario implementieren. Um auf Klicks auf Schaltflächen zu reagieren, implementieren Sie einen DataGridView.CellClick-Ereignishandler, der ein Formular mit der untergeordneten Tabelle anzeigt.

Visual Studio bietet Unterstützung für diese Aufgabe. Weitere Informationen finden Sie auch unter Vorgehensweise: Hinzufügen und Entfernen von Spalten im DataGridView-Steuerelement in Windows Forms mithilfe des Designers.

Beispiel

private void CreateUnboundButtonColumn()
{
    // Initialize the button column.
    DataGridViewButtonColumn buttonColumn =
        new DataGridViewButtonColumn();
    buttonColumn.Name = "Details";
    buttonColumn.HeaderText = "Details";
    buttonColumn.Text = "View Details";

    // Use the Text property for the button text for all cells rather
    // than using each cell's value as the text for its own button.
    buttonColumn.UseColumnTextForButtonValue = true;

    // Add the button column to the control.
    dataGridView1.Columns.Insert(0, buttonColumn);
}
Private Sub CreateUnboundButtonColumn()

    ' Initialize the button column.
    Dim buttonColumn As New DataGridViewButtonColumn

    With buttonColumn
        .HeaderText = "Details"
        .Name = "Details"
        .Text = "View Details"

        ' Use the Text property for the button text for all cells rather
        ' than using each cell's value as the text for its own button.
        .UseColumnTextForButtonValue = True
    End With

    ' Add the button column to the control.
    dataGridView1.Columns.Insert(0, buttonColumn)

End Sub

Kompilieren des Codes

Für dieses Beispiel benötigen Sie Folgendes:

Weitere Informationen