如果在GridView中

时间:2017-07-19 10:02:08

标签: asp.net gridview

我有这个GridView

<asp:GridView ID="gNiver" class="gNiver" runat="server" GridLines="None" OnSelectedIndexChanged="gNiver_SelectedIndexChanged">
    <AlternatingRowStyle BackColor="white" />
    <FooterStyle BackColor="#CCCCCC" ForeColor="Black" CssClass="fontgridtop" />
    <HeaderStyle BackColor="#FE370f" Font-Bold="True" ForeColor="#FE370f" CssClass="fontgridtop" />
    <PagerStyle BackColor="#999999" ForeColor="Black" CssClass="fontgridtop" />
    <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
    <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
    <SortedAscendingCellStyle Font-Bold="True" BackColor="#F1F1F1" />
    <SortedAscendingHeaderStyle Font-Bold="True" BackColor="#0000A9" />
    <SortedDescendingCellStyle Font-Bold="True" BackColor="#CAC9C9" />
    <SortedDescendingHeaderStyle Font-Bold="True" BackColor="#000065" />
</asp:GridView>

由以下代码填充:

var sql = $"SELECT NOME " +
     ",RTRIM(DAY(ANIVERSARIO))  + CASE DATEPART(DW, ANIVERSARIO) WHEN '1' THEN 'DOM' " +
     "WHEN '2' THEN 'SEG' " +
     "WHEN '3' THEN 'TER' " +
     "WHEN '4' THEN 'QUA' " +
     "WHEN '5' THEN 'QUI' " +
     "WHEN '6' THEN 'SEX' " +
     "WHEN '7' THEN 'SAB' END AS DIA " +
     "FROM COLABORADORES WHERE MONTH(ANIVERSARIO) = '" + mes + "' AND INATIVO = 0 ORDER BY DAY(ANIVERSARIO), NOME";
SqlDataAdapter SqlA = new SqlDataAdapter(sql, _conexao);
DataSet ds = new DataSet();
SqlA.Fill(ds, "Niver");

gNiver.DataSource = ds.Tables[0];
gNiver.DataBind();

我想提出一个IF,如果是生日那天它会在人名之前显示一张图片,有人会给我一个灯吗?

1 个答案:

答案 0 :(得分:0)

您可以在三元运算符中内联执行此操作。

<asp:GridView ID="gNiver" runat="server">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <%#  Convert.ToDateTime(Eval("birthday")).Date == DateTime.Now.Date ? "<img src=\"happybirthday.gif\">" : "" %>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>