Выделение нескольких строк в DataGridView
В этой небольшой статье хочу показать на простом примере, как выделить несколько строк в элементе управления DataGridView.
И так, предположим, что у нас есть форма, которая содержит два элемента управления: DataGridView (dgvCustomers) и Button.
Элемент DataGridView используется для вывода данных таблицы Customers состоящей из двух колонок: id и name.
В качестве примера рассмотрим, как выделить несколько строк в DataGridView при нахождении одинаковых значений в столбце name.
Поиск значений и их выделение будет происходить в обработчике события button1_Click, поэтому для начала подпишемся на данное событие, после чего добавим следующий код:
Метод ClearSelection позволяет убрать выделение в первой ячейке DataGridView.
Свойство Selected, установленное в значение true, выделяет текущую строку.
Перед выполнением цикла необходимо обязательно проверить, чтобы свойство MultiSelect (элемента управления DataGridView) было установлено в значение true, так как именно оно отвечает за включение режима выделения нескольких строк.
Если необходимо просто выделить несколько найденных строк каким-либо
цветом, то тогда замените, в выше приведенном примере, строку
row.Selected = true на
Более подробно о том, как изменить цвет строки в DataGridView, можно прочитать, перейдя по ссылке.
В этой небольшой статье хочу показать на простом примере, как выделить несколько строк в элементе управления DataGridView.
И так, предположим, что у нас есть форма, которая содержит два элемента управления: DataGridView (dgvCustomers) и Button.
Элемент DataGridView используется для вывода данных таблицы Customers состоящей из двух колонок: id и name.
В качестве примера рассмотрим, как выделить несколько строк в DataGridView при нахождении одинаковых значений в столбце name.
Поиск значений и их выделение будет происходить в обработчике события button1_Click, поэтому для начала подпишемся на данное событие, после чего добавим следующий код:
Код:
private void button1_Click(object sender, EventArgs e)
{
dgvCustomers.ClearSelection();
foreach (DataGridViewRow row in dgvCustomers.Rows)
{
if (row.Cells[1].Value.Equals("Сергей"))
{
row.Selected = true;
}
}
}
Метод ClearSelection позволяет убрать выделение в первой ячейке DataGridView.
Свойство Selected, установленное в значение true, выделяет текущую строку.
Перед выполнением цикла необходимо обязательно проверить, чтобы свойство MultiSelect (элемента управления DataGridView) было установлено в значение true, так как именно оно отвечает за включение режима выделения нескольких строк.
dgvCustomers.MultiSelect = true;
Если необходимо просто выделить несколько найденных строк каким-либо
цветом, то тогда замените, в выше приведенном примере, строку
row.Selected = true на
row.DefaultCellStyle.BackColor = Color.Yellow;
Более подробно о том, как изменить цвет строки в DataGridView, можно прочитать, перейдя по ссылке.