user2179026
user2179026

Reputation:

How to hide and show column in gridview

I have written below lines of code in order to hide and show column in gridview based on the condition.

 <asp:TemplateField HeaderText="FirstName" Visible='<%# Eval("FirstName") != null ? true:false %>'>
    <ItemTemplate>
       <asp:Label ID="lblFirstName" runat="server" Text='<%#Eval("FirstName") %>'></asp:Label>
    </ItemTemplate>
 </asp:TemplateField>

It's not working!

Upvotes: 2

Views: 3141

Answers (2)

Krunal Mevada
Krunal Mevada

Reputation: 1655

Update in code as below :

<asp:TemplateField HeaderText="FirstName" Visible='<%= !string.IsNullOrEmpty(Eval("FirstName")) ? "true" : "false" %>'>
    <ItemTemplate>
         <asp:Label ID="lblFirstName" runat="server" Text='<%#Eval("FirstName") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

Edit

<asp:TemplateField HeaderText="FirstName" Visible='<%# !string.IsNullOrEmpty(Eval("FirstName")) ? "true" : "false" %>'>
    <ItemTemplate>
         <asp:Label ID="lblFirstName" runat="server" Text='<%#Eval("FirstName") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

Upvotes: 1

Prasad Raja
Prasad Raja

Reputation: 703

Grid View

<asp:GridView ID="GridDisplay" runat="server" AutoGenerateColumns="False" BorderStyle="Groove"
                BorderWidth="1px" BorderColor="ActiveCaptionText" Width="100%" EmptyDataText="No Record Found"
                AllowPaging="True" OnPageIndexChanging="GridDisplay_PageIndexChanging" AllowSorting="True"
                OnRowEditing="GridDisplay_RowEditing" OnRowDeleting="GridDisplay_RowDeleting"
                CssClass="listbooking ListingTable">
                <Columns>
                    <asp:TemplateField HeaderText="Booking Code">
                        <ItemTemplate>
                            <%# Eval("id")%>
                        </ItemTemplate>
                        <HeaderStyle Width="5%" />
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Property Code">
                        <ItemTemplate>
                            <%# Eval("property_id")%>
                        </ItemTemplate>
                        <HeaderStyle Width="5%" />
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Name">
                        <ItemTemplate>
                            <%# Eval("sales_username")%>
                        </ItemTemplate>
                        <HeaderStyle Width="18%" />
                    </asp:TemplateField>                                         
                </Columns>              
            </asp:GridView>

i am trying to hide 2 columns(name).

During Binding the grid data

this.GridDisplay.Columns[2].Visible = false;

Upvotes: 0

Related Questions