DataGridView中的 行/列 如何根据不同的值 显示不同的 背景色

时间:2021-10-12 13:10:23

在WebForm中

在DataGridView的RowDataBound事件里判断并修改:   
  if(e.Row.Cells[n].Text=="0")   
  {   
        e.Row.Attributes.Add("bgColor",   "red");   
  }   
  else   if(e.Row.Cells[n].Text>"500")   
  {   
          e.Row.Attributes.Add("bgColor",   "green");   
  }   
  //这里的n不是你的列的下标值

 

在WinForm中

private   void   dataGridView1_RowPrePaint(object   sender,   DataGridViewRowPrePaintEventArgs   e)   
                  {   
                          if   (e.RowIndex   >=   dataGridView1.Rows.Count)   
                                  return;   
                          DataGridViewRow   dgr   =   dataGridView1.Rows[e.RowIndex];   
                          try   
                          {   
                                  if   (dgr.Cells["列名"].Value.ToString()   ==   "比较值")   //列名是dataGridView中的列的Name值  不是数据库中的列名
                                  {   

                                           dgr.Cells["列名"].style.BackColor=需要的颜色;
                                         // dgr.DefaultCellStyle.BackColor   =   设置的颜色;   
                                  }   
                          }   
                          catch   (Exception   ex)   
                          {   
                                  MessageBox.Show(ex.Message);   
                          }   
                  }