在ItemDataBound事件中设置Label的BackColor

解决方案 »

  1.   


    试过了,这样设置时,设置的是所有Item的BackColor,我需要设置每个Label为不同颜色
      

  2.   

    上面的代码报错是“指定的转换无效”
    报错行为:<div><asp:Label ID="tid" runat="server" BackColor='<%# Eval("Color")%>' Text="test"></asp:Label>&nbsp;&nbsp<%# Eval("Tip")%></div>
      

  3.   

    Color是从数据库取出来的还是?
    看看数据是怎么样?贴你的代码
      

  4.   

    是将一个颜色数组赋给DataTable里面Name为Color的Row,然后将DataTable绑定到DataList
      

  5.   

    我估计是你那里写的有问题,我测试一下,没有问题 protected void datest_ItemDataBound(object sender, DataListItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.Item)
                {
                    System.Web.UI.WebControls.Label lbl = e.Item.FindControl("lblColor") as System.Web.UI.WebControls.Label;
                    lbl.Text = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString();
                    if (lbl.Text == "ABC")
                    {
                        lbl.BackColor = Color.Red;
                    }
                    else
                    {
                        lbl.BackColor = Color.RosyBrown ;
                    }
                    
                }
            }
      

  6.   


    protected void dlTipTable_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            DataRowView dv = e.Item.DataItem as DataRowView;        Label lb1 = e.Item.FindControl("tid") as Label;
            lb1.BackColor = System.Drawing.Color.FromName(dv["Color"].ToString());
        }
      

  7.   

    把Lable改成div了,用设置了width的div实现我要的功能,Label可能是服务器控件,不能对其BackColor指定值
      

  8.   

    也可以指定吧 好象是你指定的方式不对 是冒号不是等号吧 在style里
      

  9.   

    高手帮忙:数据库读一样内容,肯定是连接关闭问题,该如何解决阿?
    http://topic.csdn.net/u/20090814/15/f2402a09-f89d-4682-a08e-4025916e3f7f.html?86295