Причины, по которым форматирование ячеек GridView испортило отображение datagridviewC#

Место общения программистов C#
Ответить
Anonymous
 Причины, по которым форматирование ячеек GridView испортило отображение datagridview

Сообщение Anonymous »

Я просмотрел этот пост:

Как изменить цвет фона строки из моего представления данных, если столбец 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»