How to hide a column (GridView) but still access its value? How to hide a column (GridView) but still access its value? asp.net asp.net

How to hide a column (GridView) but still access its value?


<head runat="server"><title>Accessing GridView Hidden Column value </title><style type="text/css">  .hiddencol  {    display: none;  }</style><asp:BoundField HeaderText="Email ID" DataField="EmailId" ItemStyle-CssClass="hiddencol" HeaderStyle-CssClass="hiddencol" ></asp:BoundField>ArrayList EmailList = new ArrayList();foreach (GridViewRow itemrow in gvEmployeeDetails.Rows){  EmailList.Add(itemrow.Cells[YourIndex].Text);}


If I am not mistaken, GridView does not hold the values of BoundColumns that have the attribute visible="false". Two things you may do here, one (as explained in the answer from V4Vendetta) to use Datakeys. Or you can change your BoundColumn to a TemplateField. And in the ItemTemplate, add a control like Label, make its visibility false and give your value to that Label.


Define a style in css:

.hiddencol { display: none; }

Then add the ItemStyle-CssClass="hiddencol" and the HeaderStyle-CssClass="hiddencol" attribute to the grid field:

<asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-CssClass="hiddencol"  HeaderStyle-CssClass="hiddencol" ClientIDMode="Static" />