When a user selects a row in a Grid that selected Row Hiding column value have
to retrieve.
How to Hide a column in a Gridview:
To hide a column we have to use a hidden filed as follows:
E.g.: <asp:HiddenField
ID="HiddenField1"
runat="server"
Value='<%#
Bind("ProductId") %>'
/>
Above I am using a Value attribute to retrieve 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 retrieve.
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
=''>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField
HeaderText
="ProductName">
<ItemTemplate>
<asp:Label
ID ="lblQuantityPerUnit"
runat ="server"
Text
=''>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField
HeaderText
="UnitPrice">
<ItemTemplate>
<asp:Label
ID ="lblUnitPrice"
runat ="server"
Text
=''>
</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!