Compartir a través de


Cómo obtener y establecer la celda actual en el control DataGridView de Windows Forms

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

Nota:

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

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

Para obtener la celda actual mediante programación

  • Use la DataGridView propiedad del CurrentCell control.

    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 CurrentCell propiedad del DataGridView control. 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

Este ejemplo requiere:

  • Button controles denominados getCurrentCellButton y setCurrentCellButton. En Visual C#, debe adjuntar los Click eventos 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.

Consulte también