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

在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");  
  }  
如果你是做财务软件,则是对单个单元格,e.Row.Cells[i].Attributes.Add("bgColor","green");
我查了一下,在winform里,DataGridView没有RowDataBound事件,如果在winform里,如下修改:  
   
   
  private   void   dataGridView1_RowPrePaint(object   sender,   DataGridViewRowPrePaintEventArgs   e)  
                  {  
                          if   (e.RowIndex   >=   dataGridView1.Rows.Count   -   1)  
                                  return;  
                          DataGridViewRow   dgr   =   dataGridView1.Rows[e.RowIndex];  
                          try  
                          {  
                                  if   (dgr.Cells["列名"].Value.ToString()   ==   "比较值")  
                                  {  
                                          dgr.DefaultCellStyle.ForeColor   =   设置的颜色;  
                                  }  
                          }  
                          catch   (Exception   ex)  
                          {  
                                  MessageBox.Show(ex.Message);  
                          }  
                  }  

ItemDataBound事件里
if   (e.Item.Cells[性别列的索引值].Text   ==   "男 ")
              e.Item.BackColor   =   System.Drawing.Color.Red;
if   (e.Item.Cells[性别列的索引值].Text   ==   "女 ")
              e.Item.BackColor   =   System.Drawing.Color.Blue;


 你可以CellPainting处理这个事件,示例如下:

private   void   dataGridView1_CellPainting(object   sender,   DataGridViewCellPaintingEventArgs   e)
{
if   (e.Value== "男 ")
{
e.PaintBackground(e.CellBounds,   true);
}
}

转载于:https://www.cnblogs.com/peijian708/archive/2008/06/10/1216745.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值