【问题标题】:Hide a GridView column by name at runtime in ASP.Net在运行时在 ASP.Net 中按名称隐藏 GridView 列
【发布时间】:2012-06-16 05:51:49
【问题描述】:

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

我可以通过如下索引来做到这一点:

gridReviews.Columns[4].Visible = false;

但是我想做以下事情:

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

最好的方法是什么?

【问题讨论】:

  • 您要在基础数据源中使用标题文本还是列/属性名称?
  • 你提出了一个可能会阻止我的好观点。标题文本可以根据网格数据而改变,所以我不能使用它。但是,我需要隐藏的列是一个 TemplateField,它没有绑定到数据源,而且它似乎没有 ID。

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


【解决方案1】:

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

因为这个问题在 windows 窗体关键字的顶部也是如此,所以发布这个 ..

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      您可以使用以下代码:

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

      【讨论】:

        猜你喜欢
        • 2011-07-17
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 2014-03-01
        • 1970-01-01
        • 2013-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多