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 ;

浙公网安备 33010602011771号