Hola,
tambien lo puedes hacer así
For Each row As GridViewRow In GridView1.Rows
If (row.RowType = DataControlRowType.DataRow) Then
dato = row.Cells(1).Text
If dato = "3" Then
row.Cells(10).Visible = False
Else
row.Cells(10).Visible = True
End If
End If
Next
Simplemente ocultas las celdas que datos. Las de la cabecera, o el footer no, por lo que la columna no se oculta, simplemente se oculta el contenido de las cedas. Y creo que de esta manera puedes recuperar el dato en cualquier momento.
Saludos.
---
Vista mi
Blog