Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


Выделение диапазона ячеек в 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 и в обработчике вызовем созданный метод.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


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

ячейка

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


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices