Como: Obter e definir a célula atual no Windows Forms DataGridView Control

Interação com o DataGridView geralmente requer que você programaticamente descobrir qual célula está ativa no momento. Talvez você precise alterar a célula atual. Você pode executar essas tarefas com o CurrentCell propriedade.

ObservaçãoObservação

Você não pode definir a célula atual em uma linha ou coluna que tem seu Visible propriedade definida como false.

Dependendo do DataGridView pode alterar o modo de seleção do controle, alterando a célula atual seleção. Para obter mais informações, consulte Selection Modes in the Windows Forms DataGridView Control.

Para obter a célula atual programaticamente

  • Use o DataGridView do controle CurrentCell propriedade.

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

Para definir a célula atual programaticamente

  • Definir o CurrentCell propriedade da DataGridView de controle. No exemplo de código a seguir, a célula atual é definida para 0, coluna 1 da linha.

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

Compilando o código

Este exemplo requer:

  • Buttoncontroles denominados getCurrentCellButton e setCurrentCellButton. Em Visual C#, você deve anexar o Click eventos para cada botão para o manipulador de evento associado, o código de exemplo.

  • Um controle DataGridView chamado dataGridView1.

  • Referências a System e System.Windows.Forms assemblies.

Consulte também

Referência

DataGridView

DataGridView.CurrentCell

Conceitos

Selection Modes in the Windows Forms DataGridView Control

Outros recursos

Recursos de célula em que o controle DataGridView do Windows Forms, linha e coluna básica