2015-06-15 61 views
0

我想突出顯示具有項目的datagridview行傳遞它們的返回日期。DataGridView - 突出顯示有晚項的行

我在我的datagridview中有一個列名「Reservation_Return_Date」。該文本的格式是2015年10月6日。

如果當前日期大於「Reservation_Return_Date」,則該行將突出顯示。

下面是我從其他帖子發現的代碼。我究竟做錯了什麼?

foreach (DataGridViewRow row in CheckOut_dataGridView.Rows) 
    { 
     var now = DateTime.Now; 
     var expirationDate = DateTime.Parse(row.Cells["Reservation_Return_Date"].Value.ToString()); 


     if (now > expirationDate) 
     { 
      row.DefaultCellStyle.BackColor = Color.Yellow; 
     } 


    } 
+0

你檢查EXPIRATIONDATE價值? – DanielVorph

回答

0

而是使用CellFormatting事件來更改backColor。

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (DateTime.Compare((DateTime)dataGridView1.Rows[e.Index].Cells["Reservation_Return_Date"],DateTime.Now)>0) 
     e.CellStyle.BackColor = Color.Yellow; 
} 

可能是它的 「< 0」,而不是 「> 0」,在日期比較