How to Hide a column in a Gridview :-
To Hide a column we have to use a hidden filed as follows:
eg: <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Bind("ProductId") %>' />
Above i am using a Value attribute to retrive a data from a 'ProductId column.
Here i am displaying 4 columns values in a Gridview.
In a Gridview i am using 'select 'link,when a user selects a row in Grid that selected Row id value have to retrive.
How to create a' select 'link column in Gridview :-
'Select' Link can be build by using 'CommandField' as follows:
<asp:CommandField ShowSelectButton="True" />
In .aspx page
<asp:GridView ID="Gridivew1" runat ="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnRowDataBound="Gridivew1_RowDataBound" OnSelectedIndexChanged="Gridivew1_SelectedIndexChanged" >
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:TemplateField HeaderText ="ProductName">
<ItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Bind("ProductId") %>' />
<asp:Label ID ="lblProductName1" runat ="server" Text ='<%#Eval("ProductName")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="ProductName">
<ItemTemplate>
<asp:Label ID ="lblQuantityPerUnit" runat ="server" Text ='<%#Eval("QuantityPerUnit")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText ="UnitPrice">
<ItemTemplate>
<asp:Label ID ="lblUnitPrice" runat ="server" Text ='<%#Eval("UnitPrice")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="White" ForeColor="#330099" />
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Products]"></asp:SqlDataSource>
Next Select your Gridview Events.Double click on SelectedIndexChanged Event and write the Below code in .aspx.cs page:
protected void Gridivew1_SelectedIndexChanged(object sender, EventArgs e)
{
string strValue = ((HiddenField)Gridivew1.SelectedRow.Cells[1].FindControl("HiddenField1")).Value;
string strValue2 = ((Label)Gridivew1.SelectedRow.Cells[1].FindControl("lblProductName1")).Text ;
Response.Write("Product Id=" + strValue + "product=" + strValue2);
}
Thanks for reading my article!
Syed Shakeer Hussain
If you like this article, subscribe to our
RSS Feed. You can also
subscribe via email to our Interview Questions, Codes and Forums section.