Статья C# Как изменить цвет строки в DataGridView

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

Как изменить цвет всех строк в DataGridView?
В первом примере давайте рассмотрим, как изменить цвет, заданный по умолчанию, для всех строк в элементе управления DataGridView.

C#:
//делаем цвет всех строк (по умолчанию) жёлтым
dataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;

27503


Свойство RowsDefaultCellStyle позволяет получить, установить или изменить стиль, применяемый по умолчанию, для всех ячеек строки, а свойство BackColor изменяет цвет строки, а точнее фон каждой её ячейки.

Как изменить цвет выбранной строки в DataGridView?
В следующем примере показано, как можно изменить цвет выбранной или указанной строки в элементе управления DataGridView.

C#:
//делаем цвет второй строки розовым
dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Pink;

27504


Сначала с помощью свойства Rows указывается строка, цвет которой нужно изменить, затем с помощью свойства DefaultCellStyle получаем доступ к стилям ячеек выбранной строки, после чего с помощью свойства BackColor задаём или устанавливаем новый цвет.

Свойство DefaultCellStyle (на уровне строки) переопределяет унаследованное значение свойства RowsDefaultCellStyle.

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

Для изменения цвета большого количества строк используйте следующий способ:

C#:
DataGridViewCellStyle rowRed = new DataGridViewCellStyle();
rowRed.BackColor = Color.Red;
dataGridView1.Rows[2].DefaultCellStyle = rowRed;
dataGridView1.Rows[3].DefaultCellStyle = rowRed;
dataGridView1.Rows[4].DefaultCellStyle = rowRed;

27505


В данном примере создаётся всего один объект класса DataGridViewCellStyle, который затем присваивается сразу нескольким выбранным строкам.

Как изменить цвет чётных и нечётных строк в DataGridView?
В следующем примере показано, как можно изменить цвет всех нечётных строк в элементе управления DataGridView.

C#:
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Red;
27506


Если же вам нужно, например, сделать все чётные строки одного цвета, а нечётные другого, то решить данную задачу можно следующим образом:

C#:
//чётные
dataGridView1.RowsDefaultCellStyle.BackColor = Color.Blue;
//нечётные
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Red;
27507


Свойство AlternatingRowsDefaultCellStyle переопределяет значение свойства RowsDefaultCellStyle.

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

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