c# Как выделить диапазон ячеек в DataGridView?

Выделение диапазона ячеек в DataGridView

В этой небольшой статье хочу показать на простом примере, как можно программно выделить диапазон ячеек в элементе управления DataGridView.

Чтобы выделить ячейку в элементе DataGridView (dgv) нужно воспользоваться свойством Selected.

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

dgv.Rows[0].Cells[1].Selected = true;

Если в элементе DataGridView нужно выделить диапазон ячеек, то в таком случае можно воспользоваться циклом.

Например, создадим новый метод SelectRangeOfCells, который будет принимать три значения: начальная и конечная ячейка выделяемого диапазона и номер строки.

private void SelectRangeOfCells(int startIndexCell, int endIndexCell, int rowIndex)
{
dgv.ClearSelection();
for (int i = startIndexCell; i  endIndexCell; i++)
{
dgv.Rows[rowIndex].Cells[i].Selected = true;
//либо
//dgv[i, rowIndex].Selected = true;
}
}

Подпишемся на событие Button_Click и в обработчике вызовем созданный метод.

private void button1_Click(object sender, EventArgs e)
{
SelectRangeOfCells(1, 2, 2);
}

datagridview

Если необходимо выделить не только диапазон ячеек в DataGridVew, но и диапазон строк, то в таком случае можно поступить, например следующим образом:

private void SelectRangeOfCells(int startIndexRow, int endIndexRow, int startIndexCell, int endIndexCell)
{
dgv.ClearSelection();
for (int row = startIndexRow; row  endIndexRow; row++)
{
for (int cell = startIndexCell; cell  endIndexCell; cell++)
{
dgv[cell, row].Selected = true;
}
}
}

Вызов:

private void button1_Click(object sender, EventArgs e)
{
SelectRangeOfCells(1,3, 2,3);
}

ячейка

Читайте также:

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*