在运行时在gridview中添加一列

时间:2014-04-15 15:40:40

标签: c# asp.net gridview

我想在运行时在网格视图中添加一个新列,在此列中,我想在某些特定行中添加一个按钮。我怎样才能做到这一点? 请尽快向我推荐一些相关的解决方案。

1 个答案:

答案 0 :(得分:1)

虽然您可以以编程方式将列字段添加到Columns集合,但更容易在GridView控件中以声明方式列出列字段,然后使用每个列字段的 Visible 属性来显示或隐藏每个列字段列字段。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.columns(v=vs.100).aspx

所以你看到你应该做的是继续在GridView中创建列,但是将Visible属性设置为False 。然后,要控制列的显示,您可以使用 GridView.RowDataBound事件

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound(v=vs.100).aspx

您还应该能够处理在同一RowDataBound处理程序中显示按钮。

 void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
           if(condition)
           {
                Button btn = (Button)e.Row.FindControl("ButtonID");
                btn.Visible = false;
           }
      }
 }