In Visual Studio Winforms applications you can set a column to hidden, and still use it to retrive data from. If you set a column to inviisble in an ASP.NET application, the column is *not* available to get data from.
Solutions:
If you set a column to invisible ad design time, the column is never bound to the data, and thus not availavle in your web application.
thus, the solution is to set the column to VISIBLE at design time, and hide it during the generation of the actual output. That way - data is bound to the column, and can be used in your application.
Private Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
' --- Hide column 3
e.Row.Cells(4).Visible = False
End Sub