Masquer un colonne dans une datatable

Signaler
-
Bonjour a tous,
j'ai un probléme comme suit :
j'ai rempli mon datatable a partir de colonnes en avance et puis je l'ai bindé vers ma grid mais j'aime bien mnt cacher une colonne.voila ce que j'ai fait.
DataTable Dt = new DataTable();
Dt.Columns.Add("ID");
Dt.Columns.Add("image");
Dt.Columns.Add("nom");
var query model.TABLE.Select(r> new {ID = r.ID , image = r.image ,nom= r.nom}).ToList();
foreach (var q in query)
{ Dt.Rows.Add(q.ID , q.image , q.nom); }
GridView1.DataSource = Dt;
GridView1.DataBind();
GridView1.Columns[2].Visible = false;
//il m'affiche une erreur :
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

je sais pas comment resoudre ce probleme.
merci d'avance.
svp de m'aider