Как изменить цвет фона строки из моего представления данных, если столбец 1 содержит строку с надписью «Прервано»?
на реализовать изменения, которые я хочу. Но происходит обработка, которая портит мое отображение datagridview. Для записи в моем DataGridView более 350 строк, 18 из которых видны одновременно.
Я сохраняю цвет, который хочу, чтобы строка была в DataGridViewCell, colindex 25.
Вот мой код:
Код: Выделить всё
private void ReasonsGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if(e.ColumnIndex == 25 && e.Value != null)
{
var style = ReasonsGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = (Color)e.Value;
}
}

И вот это с RowPostPaint (пожалуйста, предложите альтернативы тому, как я это делаю). Но это приводит к тому же поведению.
Код: Выделить всё
private void ReasonsGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
DataGridView dataGridView = sender as DataGridView;
DataGridViewRow row = dataGridView.Rows[e.RowIndex];
DataGridViewCell cell = row.Cells["BackColor"];
if (!row.IsNewRow)
{
row.DefaultCellStyle.BackColor = (Color)cell.Value;
}
}

Подробнее здесь: https://stackoverflow.com/questions/791 ... ew-display
Мобильная версия