我想把gridview控件上状态属性字段用背景颜色来代替其在数据库表中的颜色字段,也就是状态那一列显示的是颜色,gridview已经绑定了一张详细信息表,颜色字段在另一张表里,如何实现呢??

解决方案 »

  1.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        DataRow dr = e.Row.DataItem as DataRow;
        string id  = dr["PK"];//获得详细表的记录PK
        DataTable dt = null;
        /** 
         根据PK查询颜色
        **/ 
        string mycolor =    dt.Rows[0]["color"].ToString();
        System.Drawing.Color c = System.Drawing.ColorTranslator.FromHtml(mycolor); 
        e.Row.Cells[0].BackColor =  c;
    }
      

  2.   

    例如你的状态栏在第5列,
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string co=((Label)e.Row.FindControl("颜色字段Labelid")).Text;//设形式为ff00ff等
                e.Row.Cells[5].BackColor=System.Drawing.Color.FromName("#"+co);
            }
         }
      

  3.   

    这么说吧,我建了两个表,称为表1和表2吧,用的动态绑定,表1中有一个状态字段,表2中有一个color字段,我想把表1中的状态值用表2中对应的颜色显示出来。