我的DataGridView没有改变它的颜色?

时间:2016-03-02 14:00:00

标签: c# datagridview colors

这是我的代码,它应该显示2015年的红色数据和2016年的绿色数据。但是没有用?

enter image description here

private void changecolor()
{    
     foreach (DataGridViewRow rows in dgvExpense.Rows)
     {
         DateTime dates = (DateTime)rows.Cells[2].Value;

         if (dates.Year == 2015)
         {
             rows.DefaultCellStyle.BackColor = Color.Red;
         }
         else if (dates.Year == 2016)
         {
             rows.DefaultCellStyle.BackColor = Color.Green;
         }  
     }
}

1 个答案:

答案 0 :(得分:0)

因为索引从0开始,所以你应该使用Cells[3]。 您的代码将如下所示:

private void changecolor()
{    
     foreach (DataGridViewRow rows in dgvExpense.Rows)
     {
         DateTime dates = (DateTime)rows.Cells[3].Value;

         if (dates.Year == 2015))
             rows.DefaultCellStyle.BackColor = Color.Red;
         else if (dates.Year == 2016)
             rows.DefaultCellStyle.BackColor = Color.Green;
     }
}