none
datagridview的问题 RRS feed

  • 问题

  • 我做了个考勤系统,其中未出勤的人员用datagridview绑定数据库获得,但是未出勤的人员中,可能有请假的,有今日不应出勤的,我怎么才能在datagridview中以不同的颜色区分为出勤的人员?
    2010年7月19日 9:08

答案

  • 可以考虑使用DataGrid的Paint事件中,遍历记录,找出满足条件的行,通过设置DataGridViewCell.Style的属性来实现。


    We are the staff of stars
    2010年7月19日 9:44
  • 你可以在绑定DATAGRIDVIEW后,遍历DATAGRIDVIEW,根据每行单元格的值进行判断

     for (int i = 0; i < dataGridView1.Rows.Count; i++)
          {
    
            if (dataGridView1.Rows[i].Cells["Title"].Value!=null)
            {
              
            if (dataGridView1.Rows[i].Cells["Title"].Value.ToString() == "1")
            {
              dataGridView1.Rows[i].Cells["Title"].Style.ForeColor = Color.Blue;//改变单元格背景色
              //dataGridView1.Rows[i].DefaultCellStyle.BackColor= Color.Blue;改变行背景色
            }
            else
            {
              dataGridView1.Rows[i].Cells["Title"].Style.ForeColor = Color.Red;
            }
            }
          }
    

    http://blog.csdn.net/zx13525079024
    2010年7月19日 10:45

全部回复

  • 可以考虑使用DataGrid的Paint事件中,遍历记录,找出满足条件的行,通过设置DataGridViewCell.Style的属性来实现。


    We are the staff of stars
    2010年7月19日 9:44
  • 你可以在绑定DATAGRIDVIEW后,遍历DATAGRIDVIEW,根据每行单元格的值进行判断

     for (int i = 0; i < dataGridView1.Rows.Count; i++)
          {
    
            if (dataGridView1.Rows[i].Cells["Title"].Value!=null)
            {
              
            if (dataGridView1.Rows[i].Cells["Title"].Value.ToString() == "1")
            {
              dataGridView1.Rows[i].Cells["Title"].Style.ForeColor = Color.Blue;//改变单元格背景色
              //dataGridView1.Rows[i].DefaultCellStyle.BackColor= Color.Blue;改变行背景色
            }
            else
            {
              dataGridView1.Rows[i].Cells["Title"].Style.ForeColor = Color.Red;
            }
            }
          }
    

    http://blog.csdn.net/zx13525079024
    2010年7月19日 10:45
  • 我觉得可以有几种方法处理这个问题。看每个人的爱好。

    我喜欢的处理方式是在数据库中,你的存储过程,或者是select语句。

    可以根据你的考勤状态字段来决定颜色。比如:

    select  case when state=1 then '<font color=''red''>'+username+'</font>'
    when state=2 then '<font color=''blue''>'+username+'</font>'
    else username end username from table

    这样颜色不就出来了,

    还有种方法,就是在前台cs文件中,gridview的行绑定事件中,根据字段state值,来决定单元格的颜色。

    2010年7月20日 0:58