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

时间:2012-06-13 09:34:21

标签: c# gridview hide asp.net-4.0

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

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

gridReviews.Columns[4].Visible = false;

但是我想做以下事情:

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

最好的方法是什么?

3 个答案:

答案 0 :(得分:19)

您可以使用以下代码:

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

未针对 ASP.NET 进行测试... 下面这行是 For Windows Form 解决方案...

因为这个问题是 windows form 关键字的首要问题,所以发布这个..

my_gridview.Columns["ColumnName"].Visible = false;