<asp:GridView>
  <asp:TemplateField HeaderText="是否有效">
       <ItemTemplate>
            <asp:Label ID="sts" runat="server" Text='<%#Eval("sts")%>'></asp:Label>
       </ItemTemplate>
       <HeaderStyle Wrap="False" />
       <ItemStyle HorizontalAlign="Right" Wrap="False">
  </asp:TemplateField>
</asp:GridView>是这样的:从数据库中查出来的sts有三种状态
1.   O
2.   P
3.   Q
我想在绑定到GridView1
如果是O  显示红色
如果是P  显示黄色
如果是Q  显示绿色~~~~~~~~~~~~求大侠帮忙,感激不尽~~~~~~~~~~~

解决方案 »

  1.   

    后台写一个方法判断一下,然后在前台设置Label的ForeColor属性值,如下public void setColor(string s)
    {
        string color = "";
        switch(s)
        {
            case "O":
                color="red";
                break;
            case "P":
                color="yellow";
                break;
            case "Q":
                color="green";
                break;
            default:
                color="black";
                break;
        }
        return color;
    } <asp:Label ID="sts" runat="server" Text='<%#Eval("sts")%>' ForeColor='<%#setColor(Eval("sts").ToString())%>'></asp:Label>
      

  2.   

    谢谢~~~~!!!
    还有一个问题:
    从数据库中查出来的这三种状态
    1. O
    2. P
    3. Q
    我想在绑定的时候,对应的绑定为 "已过期" "即将过期" "有效" 
    但在数据库查出来的时候仍为 O,P,Q 因为我连接的时候需要用到这个状态<asp:TemplateField HeaderText="主题">
      <ItemTemplate>
      <asp:HyperLink ID="vote_topic" runat="server" NavigateUrl='<%    #"~/ierp_vote_detail.aspx?vote_id="+Eval("vote_id")+"&status="+Eval("status")+"&sts="+Eval("sts") %> '  Text='<%#Eval("vote_topic")%>'></asp:HyperLink>
       </ItemTemplate>
       <HeaderStyle Wrap="False" />
      <ItemStyle HorizontalAlign="Left" Wrap="False" />
    </asp:TemplateField>怎么将O,P,Q 绑定的时候转为相应的"已过期" "即将过期" "有效" 
      

  3.   

    一样啊,改造一下,在增加一个方法,用来输出中文就OK啦public void setColor(string s)
    {
        string color = "";
        switch(s)
        {
            case "O":
                color="red";
                break;
            case "P":
                color="yellow";
                break;
            case "Q":
                color="green";
                break;
            default:
                color="black";
                break;
        }
        return color;
    }public void setConvertValue(string s)
    {
        string value = "";
        switch(s)
        {
            case "O":
                value="已过期";
                break;
            case "P":
                value="即将过期";
                break;
            case "Q":
                value="有效";
                break;
            default:
                color="black";
                break;
        }
        return value;
    } <asp:Label ID="sts" runat="server" Text='<%#setConvertValue(Eval("sts").ToString())%>' ForeColor='<%#setColor(Eval("sts").ToString())%>'></asp:Label>
      

  4.   

    纠正一下,返回值是stringpublic string setColor(string s)
    {
        string color = "";
        switch(s)
        {
            case "O":
                color="red";
                break;
            case "P":
                color="yellow";
                break;
            case "Q":
                color="green";
                break;
            default:
                color="black";
                break;
        }
        return color;
    }public string setConvertValue(string s)
    {
        string value = "";
        switch(s)
        {
            case "O":
                value="已过期";
                break;
            case "P":
                value="即将过期";
                break;
            case "Q":
                value="有效";
                break;
            default:
                value="未知";
                break;
        }
        return value;
    } <asp:Label ID="sts" runat="server" Text='<%#setConvertValue(Eval("sts").ToString())%>' ForeColor='<%#setColor(Eval("sts").ToString())%>'></asp:Label>