在ASP.Net中的运行时按名称隐藏GridView列

是否可以在运行时按名称显示/隐藏GridView列?

我可以通过索引来完成,如下所示:

gridReviews.Columns[4].Visible = false; 

但是我想做以下事情:

 gridReviews.Columns["Name"].Visible = false; 

最好的方法是什么?

您可以使用以下代码:

 foreach (DataControlField col in gridReviews.Columns) { if (col.HeaderText == "Name") { col.Visible = false; } } 

如果可以访问用于绑定gridview的数据并且gridview列与数据表的顺序相同(并且AutoGenerateColumns = false),则可以间接按列名访问gridview:

 //Make ID column invisible by column name gv.Columns[dt.Columns[ID].Ordinal].Visible = false;