2013-03-01 10 views
0

Вот проблема, с которой я столкнулся: у меня есть DataGridView (назовем его A), где я перечисляю много записей, которые поступают из SqlDataReader. Это DataGridView заселено на SelectionChanged событие другое сетка. Мне нужно нарисовать строки red, если дата из четвертого столбца в сетке A равна больше сегодня (новее), иначе она рисует строку как синий.Проблемы с форматированием с помощью CellFormatting DataGridView Event

Вот код, который я реализовал в CellFormatting случае сделать так:

if (Convert.ToDateTime(dgvCREListaParcelas.CurrentRow.Cells[3].Value) > DateTime.Now) 
     { 
      e.CellStyle.BackColor = Color.Red; 
     } 
     else 
     { 
      e.CellStyle.BackColor = Color.LightBlue; 
     } 

Я не знаю, почему, но всякий раз, когда я нажимаю любую строку в сетке, или прокрутите вниз и вверх линии «цвета меняются. К сожалению, я не могу опубликовать изображение, так как у меня недостаточно очков для этого!

Помог ли кто-нибудь в этом помочь?

+0

мне удалось это исправить, изменив следующую строку в CellFormating Event: если (Convert.ToDateTime (dgvCREListaParcelas.CurrentRow.Cells [3] .Value) user2121931

ответ

0

мне удалось это исправить, изменив следующую строку в CellFormating Event: если (Convert.ToDateTime (dgvCREListaParcelas.CurrentRow.Cells [3] .Value) < DateTime.Now)

Для :

если (Convert.ToDateTime (dgvCREListaParcelas.Rows [e.RowIndex] .Cells [3] .Value) < DateTime.Now)

Спасибо за внимание!

Смежные вопросы