Cómo: Obtener y establecer la celda actual en el control DataGridView de formularios Windows Forms

La interacción con DataGridView a menudo requiere que detecte mediante programación qué celda está activa. También es posible que tenga que cambiar la celda actual. Puede realizar estas tareas con la propiedad CurrentCell.

Nota:

No se puede establecer la celda actual en una fila o columna que tenga su propiedad Visible establecida en false.

Según el modo de selección del control DataGridView, si se cambia la celda actual, la selección puede cambiar. Para obtener más información, consulte Modos de selección en el control DataGridView de Windows Forms.

Para obtener la celda actual mediante programación

  • Use la propiedad CurrentCell del control DataGridView.

    private void getCurrentCellButton_Click(object sender, System.EventArgs e)
    {
        string msg = String.Format("Row: {0}, Column: {1}",
            dataGridView1.CurrentCell.RowIndex,
            dataGridView1.CurrentCell.ColumnIndex);
        MessageBox.Show(msg, "Current Cell");
    }
    
    Private Sub getCurrentCellButton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles getCurrentCellButton.Click
    
        Dim msg As String = String.Format("Row: {0}, Column: {1}", _
            dataGridView1.CurrentCell.RowIndex, _
            dataGridView1.CurrentCell.ColumnIndex)
        MessageBox.Show(msg, "Current Cell")
    
    End Sub
    

Para establecer la celda actual mediante programación

  • Establezca la propiedad CurrentCell del control DataGridView. En el ejemplo de código siguiente, la celda actual se establece en la fila 0, columna 1.

    private void setCurrentCellButton_Click(object sender, System.EventArgs e)
    {
        // Set the current cell to the cell in column 1, Row 0.
        this.dataGridView1.CurrentCell = this.dataGridView1[1,0];
    }
    
    Private Sub setCurrentCellButton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles setCurrentCellButton.Click
    
        ' Set the current cell to the cell in column 1, Row 0. 
        Me.dataGridView1.CurrentCell = Me.dataGridView1(1, 0)
    
    End Sub
    

Compilar el código

Para este ejemplo se necesita:

  • Controles Button llamados getCurrentCellButton y setCurrentCellButton. En Visual C#, debe adjuntar los eventos Click de cada botón al controlador de eventos asociado en el código de ejemplo.

  • Control DataGridView denominado dataGridView1.

  • Referencias a los ensamblados System y System.Windows.Forms.

Vea también