Как вы меняете цвет?Возможно, вы захотите заглянуть в событие CellFormatting, чтобы увидеть, можете ли вы явно закрасить ячейку, когда она видна пользователю.Таким образом, каждый раз, когда он перерисовывает ячейку, вы можете гарантировать, что цвет будет правильным.(Предполагая, что вам нужны разные цвета для строк, в противном случае просто установите стиль ячейки и лишите законной силы элемент управления.
ОБНОВЛЕНИЕ:
Важно, что вы ссылаетесь на стиль ячейки через аргументы события, в противном случаевыполните рекурсию, чтобы определить стиль ячейки, к которому вы пытаетесь обратиться.
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
e.CellStyle.BackColor = Color.PaleGreen
}