Практическое руководство. Считывание и установка значения текущей ячейки элемента управления DataGridView в Windows Forms

Для взаимодействия с DataGridView часто требуется программно определить активную ячейку. Также может потребоваться изменить текущую ячейку. Эти задачи можно выполнить с помощью свойства CurrentCell.

Примечание.

Нельзя задать текущую ячейку в строке или столбце со свойством Visible установленным в значение false.

В зависимости от режима выбора элемента управления DataGridView изменение текущей ячейки может изменить выделение. Дополнительные сведения см. в разделе Режимы выделения содержимого элемента управления DataGridView в Windows Forms.

Получение текущей ячейки программным способом

  • Используйте свойство CurrentCell элемента управления 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
    

Установка текущей ячейки программным способом

  • Установите свойство CurrentCell элемента управления DataGridView. В следующем примере кода в качестве текущей ячейки задана ячейка в строке 0 и столбце 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
    

Компиляция кода

Для этого примера требуются:

  • элементы управления Button с именами getCurrentCellButton и setCurrentCellButton; В Visual C# необходимо присоединить события Click для каждой кнопки к связанному обработчику событий в примере кода;

  • элемент управления DataGridView с именем dataGridView1;

  • ссылки на сборки System и System.Windows.Forms.

См. также