А я бы проблему решал перпендикулярно
Обычно подкрасить строки просят тогда, когда они различаются по условному статусу. При этом статус может определяться и по набору значений (ну например - сумма больше нуля и без даты - хорошо, меньше нуля - плохо, остальные удовлетворительно). В таком случае лучше явно вести новое поле "Статус" и заложить указанную логику в расчёт этого поля. И мы сразу имеем следующие преимущества:
1) По этому полю можно отфильтроваться, отсортироваться и т.д.
2) Нет описанных автором темы проблем с цветом текущей строки
3) Статус в явном виде описывает состояние строки. А цвета надо запоминать.
ну и т.д.