Я отчаянно пытаюсь понять, как изменить цвет фона одной ячейки в winforms dataGridView. У меня есть два столбца: если я изменю содержимое во втором столбце, я хочу, чтобы ячейка в первом столбце этой строки соответственно изменила фон.
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex != 0 || e.RowIndex == -1)
return;
if (dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString() == "Red")
e.CellStyle.BackColor = Color.Red;
else
e.CellStyle.BackColor = Color.White;
}
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != 1 || e.RowIndex == -1)
return;
// dataGridView1.Rows[e.RowIndex].Cells[0]. ???
}
Первый обработчик событий устанавливает backColor ячеек в первом столбце, если они окрашены. Второй обработчик событий должен сообщить первой ячейке, что нужно рисовать, если значение изменилось. Если я изменю ширину столбца, он закрасит правильный цвет, поэтому первый обработчик сделает всю работу. Но как запустить рисование ячеек?
Спасибо за помощь.