Procedimiento para agregar una columna sin enlazar a un control DataGridView de formularios Windows Forms enlazado a datos

Los datos que muestra en el control DataGridView proceden por lo general de un origen de datos, pero es posible que desee mostrar una columna de datos que no proceda de dicho origen de datos. Este tipo de columna se denomina columna independiente. Las columnas independientes pueden adoptar muchas formas. Con frecuencia, se utilizan para permitir acceder a los detalles de una fila de datos.

En el ejemplo de código siguiente se explica cómo crear una columna sin enlazar de botones Detalles para mostrar una tabla secundaria relacionada con una determinada fila de una tabla principal al implementar un escenario de maestro y detalle. Para responder a los clics en los botones, implemente un controlador de eventos DataGridView.CellClick que muestra un formulario que contiene la tabla secundaria.

Visual Studio es compatible con esta tarea. Vea también Procedimiento para agregar y quitar columnas en el control DataGridView de Windows Forms mediante el Diseñador.

Ejemplo

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

Compilar el código

Para este ejemplo se necesita:

Vea también