您的位置:首页 > 编程语言 > ASP

在gridview根据不同的状态显示不同的颜色

2013-08-21 10:46 204 查看
首先sql语句先这样写:
  SELECT *,case when Status='0' and UpTime>'" + DateTime.Now + "' then '未执勤' when Status='1' then '正在执勤' when Status='2'   then '已执勤' else '脱岗' end as state FROM 表名 ORDER BY ID desc

 然后在.aspx的页面上这样写:

(1)根据不同状态字体显示不一样的颜色:

 <asp:TemplateField HeaderText="执勤状态">

   <ItemTemplate>                                  

    <asp:Label ID="Label1" runat="server" Text='<%#Eval("state") %>' ForeColor='<%# Eval("state").ToString().Trim() == "脱岗" ?System.Drawing.Color.FromName        ("#FF0000") : (Eval("state").ToString().Trim() == "正在执勤"?System.Drawing.Color.FromName("#FFCC00"):(Eval("state").ToString().Trim()
== "未执勤"?           System.Drawing.Color.FromName("#009EEF"):System.Drawing.Color.FromName("#000000"))) %>'></asp:Label>

   </ItemTemplate>
</asp:TemplateField>

(2)根据不同状态显示不一样的背景颜色:

<asp:TemplateField HeaderText="执勤状态">

   <ItemTemplate>                                  

    <asp:Label ID="Label1" runat="server" Text='<%#Eval("state") %>' BackColor='<%#        Eval("state").ToString().Trim() == "脱岗" ?System.Drawing.Color.FromName              ("#FF0000") : (Eval("state").ToString().Trim() == "正在执勤"?        System.Drawing.Color.FromName("#FFCC00"):(Eval("state").ToString().Trim()
== "未执       勤"?  System.Drawing.Color.FromName        ("#009EEF"):System.Drawing.Color.FromName("#000000"))) %>'></asp:Label>

   </ItemTemplate>>

</asp:TemplateField>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net gridview SQL