• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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

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

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

C#:
dgv.Rows[0].Cells[1].Selected = true;
Если в элементе DataGridView нужно выделить диапазон ячеек, то в таком случае можно воспользоваться циклом.

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

C#:
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 и в обработчике вызовем созданный метод.

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


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

C#:
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;
}
}
}
Вызов:

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


Читайте также:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!