Другой вариант - использовать событие CellFormatting.
Первый вариант показывает доступ к связанному элементу данных и полезен, если у вас нет настроенного столбца для данных. Второй вариант работает, если есть столбец, видимый он или нет.
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (((MyDataObject)dataGridView.Rows[e.RowIndex].DataBoundItem).Condition == Value)
{
e.CellStyle.BackColor = System.Drawing.Color.Gold;
}
}
// Второй вариант - можно использовать ColumnIndex вместо ColumnName
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dataGridView["ColumnName", e.RowIndex].Value).Condition == TargetValue)
{
e.CellStyle.BackColor = System.Drawing.Color.Gold;
}
}