有时候我们可能需要读出数据库中的一些字段,但是又不将这些字段值显示到前台,这时候很多人就马上想到将该字段设置为隐藏(visuable=false) 不就解决了吗。
不错最终我们都是将其设置为 false,关键在于你什么时候设置。
起初我在前台编辑列中直接将 visuable 属性设置为 false ,结果我在 RowDataBound 事件中始终取不到该列的值,调了好半天,发现原来这样的做法会导致该列在数据绑定时没有被赋值。
解决办法:
在GridView 的 RowCreated 事件中将对应列的 visuable 属性设置为 false ,而不是在前台设置。这样子做不但该列获取到了值,同时也被设置为不可见。
protected void gvProjectInfo_RowCreated(object sender, GridViewRowEventArgs e)
...{
if (e.Row.RowType == DataControlRowType.DataRow||e.Row.RowType == DataControlRowType.Header)
...{
e.Row.Cells[4].Visible = false;
e.Row.Cells[5].Visible = false;
}
}
本文介绍了在ASP.NET中如何正确地隐藏GridView中的列而又不影响数据绑定过程。通过在RowCreated事件中设置visuable属性为false,可以在确保数据正常加载的同时使指定列不可见。
976

被折叠的 条评论
为什么被折叠?



