小弟将一个DATATABLE处理了,在DATATABLE中加了一列,当前一列的值小于某个值时,就在新加的一列的同一行上加入一个值为“正常”,当大于某个值时,就加上“不正常”,现在我的问题是,我要将“不正常”这个值显示为红色,请问怎么做呢?

解决方案 »

  1.   

    "<font color=red>不正常</font>"
    这样写不行吗
      

  2.   

    这个容易,在datatable中增加一列 color ,不正常的情况是‘red’,正常的情况是‘black’。
    创建一个模板列,
    <asp:TemplateColumn>
    <ItemTemplate>
    <font color = '<%# databinder.evalcontainer.dataitem,"color")%>'>
    <asp:label id="Label1" runat="server">
    <%# databinder.eval(container.dataitem,"yourColumn") %>
    </asp:Label></font>           </ItemTemplate>
    </asp:TemplateColumn>这样,yourcoloumn就可以按你自已定的颜色显示了。
      

  3.   

    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <asp:Label runat="server" ForeColor='<%# GetColor(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' Text='<%# GetValue(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' ID="Label1">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    cs中
    protected Color GetColor(string sex)
    {
    Color temp;
    if(sex=="0")
    temp=Color.Red;
    else if(sex=="1")
    temp=Color.Blue;
    else
    temp=Color.Black;
    return temp;
    }
      

  4.   

    <asp:Label runat="server" ForeColor='<%# GetColor(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' Text='<%# GetValue(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' ID="Label1">
    </asp:Label>
    请问,为什么我在模版列中放LABEL,为什么我的VS。NET中没有TEXT属性呢?为什么呢?
      

  5.   

    <asp:TemplateColumn HeaderText="模板列">
    <ItemTemplate>
    <asp:Label runat="server" ForeColor='<%# GetColor(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' Text='<%# GetValue(DataBinder.Eval(Container, "DataItem.sex").ToString()) %>' ID="Label1">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    cs中
    protected Color GetColor(string sex)
    {
    Color temp;
    if(sex=="0")
    temp=Color.Red;
    else if(sex=="1")
    temp=Color.Blue;
    else
    temp=Color.Black;
    return temp;
    }