Compartir a través de


Cómo: Agregar una columna independiente a un control DataGridView de formularios Windows Forms enlazado a datos

Los datos que muestra en el control DataGridView proceden por lo general de algún origen de datos, pero es posible que desee mostrar una columna de datos que no proceda del origen de datos. Este tipo de columna se denomina columna sin enlazar. Las columnas sin enlazar pueden adoptar distintas formas. Con frecuencia, se utilizan para proporcionar acceso a los detalles de una fila de datos.

En el ejemplo de código siguiente se explica cómo crear una columna sin enlazar con botones Detalles para mostrar una tabla secundaria relacionada con una fila determinada de una tabla primaria al implementar un escenario principal-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 ofrece compatibilidad para esta tarea. Para obtener más información, vea Cómo: Agregar y quitar columnas en el control DataGridView de formularios Windows Forms mediante el Diseñador y Cómo: Agregar y quitar columnas en el control DataGridView de formularios Windows Forms mediante el Diseñador y Cómo: Agregar y quitar columnas en el control DataGridView de formularios Windows Forms mediante el Diseñador y Cómo: Agregar y quitar columnas en el control DataGridView de formularios Windows Forms mediante el Diseñador.

Ejemplo

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
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);
}

Compilar el código

Para este ejemplo se necesita:

Vea también

Referencia

DataGridView

Conceptos

Modos de presentación de datos en el control DataGridView de formularios Windows Forms

Otros recursos

Mostrar datos en el control DataGridView de formularios Windows Forms