Выделение диапазона ячеек в DataGridView
В этой небольшой статье хочу показать на простом примере, как можно программно выделить диапазон ячеек в элементе управления DataGridView.
Чтобы выделить ячейку в элементе DataGridView (dgv) нужно воспользоваться свойством Selected.
Например, в следующем примере показано, как выделить вторую ячейку первой строки.
Если в элементе DataGridView нужно выделить диапазон ячеек, то в таком случае можно воспользоваться циклом.
Например, создадим новый метод SelectRangeOfCells, который будет принимать три значения: начальная и конечная ячейка выделяемого диапазона и номер строки.
Подпишемся на событие Button_Click и в обработчике вызовем созданный метод.
Если необходимо выделить не только диапазон ячеек в DataGridVew, но и диапазон строк, то в таком случае можно поступить, например следующим образом:
Вызов:
Читайте также:
В этой небольшой статье хочу показать на простом примере, как можно программно выделить диапазон ячеек в элементе управления DataGridView.
Чтобы выделить ячейку в элементе DataGridView (dgv) нужно воспользоваться свойством Selected.
Например, в следующем примере показано, как выделить вторую ячейку первой строки.
C#:
dgv.Rows[0].Cells[1].Selected = true;
Например, создадим новый метод 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;
}
}
C#:
private void button1_Click(object sender, EventArgs e)
{
SelectRangeOfCells(1, 2, 2);
}
Если необходимо выделить не только диапазон ячеек в 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);
}
Читайте также: