Gridview 获取隐藏列中绑定值方法

Gridview 获取隐藏列中绑定值方法
GridView 是ASP.NET 2.0的新增控件之一,它的出现代替了原有的DataGrid控件.如果你使用过ASP.NET 2.0. 在设计GridView控件时你拖拽了一个Bound Field,那你可能会遇到一个问题.在早期的.NET版本中,如果想要访问一列,但令它不可见,你可以将他的Visible属性设置为false.
     但是这在ASP.NET 2.0时无效的.当一个列的可见性设置为false,控件不会再将数据绑定到该列中,所以你尝试得到隐藏列的值时,只能得到一个空的字符串.此时有2个方法可以解决:

1.在RowCreated事件中书写如下代码:

  void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    ...{
        if (e.Row.RowType == DataControlRowType.DataRow ||
            e.Row.RowType == DataControlRowType.Header)
        ...{
            e.Row.Cells[0].Visible = false; //如果想使第1列不可见,则将它的可见性设为false
        }
       //可以根据需要设置更多的列
    }

2.在RowDataBound事件中书写如下代码:

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {

             if (e.Row.RowType == DataControlRowType.DataRow ||  e.Row.RowType == DataControlRowType.Header)
            {
                 e.Row.Cells[2].Visible = false;      //如果想使第3列不可见,则将它的可见性设为false
            }

  }

 

另外,如何获取GridView的Header列的控件值呢?

string name=((TextBox)this.FSLGridView1.HeaderRow.FindControl("txtName")).Text ;

 

posted @ 2009-02-22 12:07  瑞君  Views(512)  Comments(0)    收藏  举报