conditionally show hide asp.net Gridview column

asp.net, c#, gridview, visible

Solution

you can use gridview column index to hide the particular column

Code could be

 if(Request.QueryString.Get("show")=="all")
    GridView1.Columns[1].Visible=true;
 else
    GridView1.Columns[1].Visible=false;

More detail

GridView Hide Column by code

Edit 3

Settings in ASPX/ASCX can not be done directly.

<%= %> outputs directly to the response stream, and the asp markup is not part of the response stream. Its a mistake to assume the <%= %> operators are performing any kind of preprocessing on the asp markup.

More explanation

Why will <%= %> expressions as property values on a server-controls lead to a compile errors?

Edit 1

I think yes

 <asp:BoundField HeaderText="ColumnTwo" 
      Visible='<% if (Request.QueryString.Get("all") == "all" ) "true" else "false" %>'/>

You will have to check for the syntex

Edit 2

Try this

 Visible='<% Request.QueryString.Get("all") == "all"? "true": "false"%>'

Problem

This is how I navigate to `myPage.aspx` , ``` <a href='~/myPage.aspx?show=<%#Eval("id")%>' id="showEach" runat="server">Show Each</a> <a href="~/myPage.aspx?show=all" id="showAll" runat="server">Show All</a> ``` And I have a gridview in `myPage.aspx` ``` <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:BoundField HeaderText="ColumnOne" Visible="true"/> <asp:BoundField HeaderText="ColumnTwo" Visible="true"/> </Columns> </asp:GridView> ``` What I want to do is , if Query String is equal to `all`(~/myPage.aspx?show=all) , I want to set GridView1's `Column2`'s visible to true , else , set visible to false . How can I do it ?

Original source

Related problems