Como obter e definir a célula atual no controle DataGridView dos Windows Forms
A interação com o DataGridView geralmente requer que você descubra programaticamente qual célula está ativa no momento. Talvez você precise alterar a célula atual. Você pode executar essas tarefas com a CurrentCell propriedade.
Observação
Não é possível definir a célula atual em uma linha ou coluna que tenha sua Visible propriedade definida como false
.
Dependendo do DataGridView modo de seleção do controle, alterar a célula atual pode alterar a seleção. Para obter mais informações, veja Modos de seleção do controle DataGridView dos Windows Forms.
Para obter a célula atual de forma programática
Use a DataGridView propriedade do CurrentCell controle.
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 definir a célula atual de forma programática
Defina a CurrentCell propriedade do DataGridView controle. No exemplo de código a seguir, a célula atual é definida como linha 0, coluna 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
Compilando o código
Este exemplo requer:
Button controles nomeados
getCurrentCellButton
esetCurrentCellButton
. No Visual C#, você deve anexar os Click eventos de cada botão ao manipulador de eventos associado no código de exemplo.Um controle DataGridView chamado
dataGridView1
.Referências aos assemblies System e System.Windows.Forms.
Confira também
.NET Desktop feedback