DataGrid中有个字段status,如果等于0,这一行的背景色是白色,如果大于0,这一行的背景色是红色,请问如何做?

解决方案 »

  1.   

    DataGrid中有颜色的属性设置,做判断就可以了,自己去找找
      

  2.   

    GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["飞狐工作室"].DefaultView[i];
                string score = Convert.ToString(mydrv["起薪"]);//要判断的字段
                if (Convert.ToDouble(score) < 34297.00)//大家这里根据具体情况设置可能ToInt32等等
                {
                    GridView1.Rows[i].Cells[4].BackColor = System.Drawing.Color.Red;
                }
            }
      

  3.   

    是要根据绑定的数据来判断吗?
    如果是
    就在绑定后
    foreach(DataGridItem dg in this.DataGrid1.Items)
    {
       根据绑定的数据情况判断每行的颜色
       dg.Attributes.Add("style","哪种颜色");
    }
      

  4.   

    用Container.Eval,应该可以,你要自己试一下,有思路就可以了
      

  5.   

    在ItemDataBound 事件裡寫if(e.ItemIndex >= 0)
    {
      string Status = DataBinder.Eval(e.Item.DataItem,"status").ToString();
      if(Status == "0"){
         e.Item.CssClass = "你要的";     或者     e.Item.Style.Add("bgColor","value");
         bgColor 可能寫錯了,你可以查查
      }
    }
      

  6.   

    我的blog上有你要的解决方法
    篇名:GridView使用技巧之:根据绑定的内容改变单元格(或者行)的显示样式 
    http://blog.csdn.net/j_jake/archive/2007/06/28/1670000.aspx
      

  7.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    DataRowView row;
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 

    row = (DataRowView)e.Item.DataItem;
    if (Convert.ToInt32(row["status"]) == 0)
    e.Item.BackColor = Color.White;
    else if (Convert.ToInt32(row["status"]) > 0)
    e.Item.BackColor = Color.Red;
    }
    }
      

  8.   

    要是从数据源中读取statu的值怎么编写程序?
    请教高人!谢谢