如何在TemplateField中包含条件?

时间:2019-07-23 02:08:16

标签: asp.net

嗨,stackoverflow成员们。

简而言之..我的程序运行良好..只是我不确定在满足条件时如何隐藏templatefield。我有以下观点:

<asp:GridView ID="gv" runat="server" DataKeyNames="ID" AutoGenerateColumns="false" AllowPaging="false" CssClass="table table-striped table-bordered table-hover table-checkable dataTable no-footer" EmptyDataText="No bookings found." OnRowDataBound="gv_RowDataBound">                   
    <Columns>
        <asp:BoundField HeaderText="Locker Booking ID" DataField="ID" ItemStyle-Font-Size="12px" ItemStyle-Width="100px" ItemStyle-Wrap="false" />
        <asp:BoundField HeaderText="Booking ID" DataField="BookingID" ItemStyle-Font-Size="12px" ItemStyle-Width="100px" ItemStyle-Wrap="false" />
        <asp:BoundField HeaderText="Booking PIC" DataField="Name" ItemStyle-Font-Size="12px"/>
        <asp:BoundField HeaderText="Locker Interval" DataField="Interval" ItemStyle-Font-Size="12px" />
        <asp:BoundField HeaderText="Date Created" DataField="DateCreated" DataFormatString="{0:dd-MMM-yyyy HH:mm}" ItemStyle-Font-Size="12px" />
        <asp:TemplateField HeaderText="Locker #" ItemStyle-Wrap="true" ItemStyle-HorizontalAlign="Center" ItemStyle-Font-Size="12px">
            <ItemTemplate>
                <asp:Label runat="server" ID="lbLocker"></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField HeaderText="Check-In Date" DataField="DateCheckIn" DataFormatString="{0:dd-MMM-yyyy HH:mm}" ItemStyle-Font-Size="12px"/>
        <asp:BoundField HeaderText="Check-Out Date" DataField="DateCheckOut" DataFormatString="{0:dd-MMM-yyyy HH:mm}" ItemStyle-Font-Size="12px" />
        <asp:BoundField HeaderText="Total" DataField="TotalAmount" DataFormatString="{0:0.00}" ItemStyle-Font-Size="12px" />
        <asp:TemplateField HeaderText="Locker Actions">
            <ItemTemplate>
                <a href='<%# "LockerDetails.aspx?id=" + Eval("ID").ToString() %>' class="btn dark btn-sm btn-outline sbold uppercase" onclick="showPreloader()">
                <i class="fa fa-share"></i> View 
                </a>                                
                <asp:HyperLink runat="server" ID="lnkInvoice" CssClass="btn dark btn-sm btn-outline sbold uppercase" Target="_blank" NavigateUrl='<%# Convert.ToDateTime(Eval("DateCheckOut")) >= new DateTime(2018, 9, 1) ? "LockerInvoice.aspx?id=" + Eval("ID").ToString() : "LockerSlip.aspx?id=" + Eval("ID").ToString() %>'><i class="fa fa-share"></i> Invoice </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Booking Actions">
            <ItemTemplate>
                <a href='<%# "BookingDetails.aspx?id=" + Eval("BookingID").ToString() %>' class="btn dark btn-sm btn-outline sbold uppercase" onclick="showPreloader()">
                <i class="fa fa-share"></i> View 
                </a>                                
                <asp:HyperLink runat="server" ID="lnkInvoice" CssClass="btn dark btn-sm btn-outline sbold uppercase" Target="_blank" NavigateUrl='<%# Convert.ToDateTime(Eval("DateCheckOut")) >= new DateTime(2018, 9, 1) ? "BookingInvoice.aspx?id=" + Eval("BookingID").ToString() : "BookingSlip.aspx?id=" + Eval("BookingID").ToString() %>'><i class="fa fa-share"></i> Invoice </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>                    
</asp:GridView>

您注意到,这里有2个“操作”列。我试图仅显示1个“操作”列。 条件是..如果BookingID不为NULL ..我想隐藏Locker Actions,但是如果它为null ..然后隐藏Bookings Actions 或者是否还有其他方法可以检查和分配标签。。谢谢

0 个答案:

没有答案