Perchè non sa ancora quante colonne hai... sembra strano ma è così..

Aggiungi questo dovrebbe funzionare

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then

e.Item.Cells(1).Visible = False

End If

If e.Item.ItemType = ListItemType.Header Then
e.Item.Cells(1).Visible = False
End If
End Sub


Se usi le boundcolumn o le templatecolumn e gli setti la proprietà è più semplice!!

Fammi sapere
Ciao
Kalman