List<CriticalError> troubles = new List<CriticalError>(); // связывается с таблицей
this.dataGridView.DataSource =
troubles.GetRange(0,troubles.Count); //чтобы не выдавало ошибку индекс -1
for (int i = 0; i < this.dataGridView.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView.Rows[i].Cells["Reaction"].Value) == false) // если CheckBox == false , тогда красим в красный
{
this.dataGridView.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
}
Проблема в том , что в цикле dataGridView.Rows[i].DefaultCellStyle.BackColor
принимает желаемый цвет, а после выхода с цикла все по дефолту. Подскажите, пожалуйста , где ошибка
for (int i = 0; i < this.dataGridView.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView.Rows[i].Cells["Reaction"].Value) == false)
{
for (int j = 0; j <this.dataGridView.Rows[i].Cells.Count - 1; j++)
{
this.dataGridView.Rows[i].Cells[j].Style.BackColor = Color.Red;
}
}
}
Так не работает для ячейки, нужно указывать конкретную ячейку в Cells
, не только строку. Вот так поменяет строку в красный:
this.dataGridView.Rows[i].DefaultCellStyle.BackColor = Color.Red;
В Вашем случае, для окраски ячейки писать так:
for (int i = 0; i < this.dataGridView.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView.Rows[i].Cells["Reaction"].Value) == false)
{
this.dataGridView.Rows[i].Cells["Reaction"].Style.BackColor = Color.Red;
}
}
Чтобы смена цвета работала для DataSource
необходимо повесть метод на событие DataBindingComplete
, получится такой код:
private void dataGridView1_DataBindingComplete(
object sender, DataGridViewBindingCompleteEventArgs e)
{
for (int i = 0; i < this.dataGridView1.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView1.Rows[i].Cells["Reaction"].Value) == false)
{
this.dataGridView1.Rows[i].Cells["Reaction"].Style.BackColor = Color.Red;
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть экземпляр класса в другом потоке, это сервер который имеет изменяющийся список клиентовКак привязать этот список клиентов к компоненту...
Здравствуйте, задача у меня страннаяНеобходимо сделать форму регистрации пассажиров, без использования баз данных, чисто C#
Как передать буфер для заполнения в функцию (функция в DLL-ке напна Си , исходника нету) я делаю так