2013-04-03 3 views
2

enter image description hereИзменение цвета GridView ячейки в зависимости от времени

У меня есть GridView выше, что показывает причину и время.

То, что я хочу сделать, это:

  • Чтобы отобразить красный цвет, когда время BETWEEN 12:00:00 PM and 12:59:59 PM AND is Beginning of Day

  • Чтобы отобразить цвет ЗЕЛЕНЫЙ, когда время BETWEEN 13:00:00 PM and 13:59:59 PM AND is LUNCH

У меня есть он работает для столбца REASON.

Ниже приведен мой код. Примечание: e.Row.Cells [4] для столбца Причины, e.Row.Cells [5] для столбца Времени

protected void GridViewEmployee_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     //Works 
     if (e.Row.Cells[4].Text == "Break") 
     { 
      e.Row.Cells[4].BackColor = Color.Red; 
     } 

     //Doesn't Work 
     //if (e.Row.Cells[4].Text == "Beginning Of Day" && e.Row.Cells[5].Text > " 12:00:00 PM " && e.Row.Cells[5].Text < "12:59:59 PM") 
     //{ 
     // e.Row.Cells[4].BackColor = Color.Red; 
     //} 
    } 
} 

ответ

3

Вы сравниваете значение времени шпагата. Поэтому попробуйте что-то подобное и убедитесь, что когда вы используете < или >, то оба значения должны быть типа datetime.

DateTime.Parse(e.Row.Cells[5].Text) > DateTime.Parse("12:00:00 PM ") 
+0

Он работал отлично. Огромное спасибо. – Apollo

0

Вы пробовали:

if(DateTime.Now > 12:00:00 && DateTime.Now < 13:00:00) 
    { 
     dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red; 
    } 
Смежные вопросы