If you have this kind of issue if, you can’t access data after you set your colum to visible false , you can do this kind of trick:
set a event on Row created and then do hidding od the data:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false;
}
if you try to access data now you can, and that what we want