2007年9月4日 星期二

.NET GridView hidden column problem

在.NET 1.1的DataGrid裡面,column的visible屬性可以被設成false,造成hidden column的效果,同時在codebehind裡面,hidden column的值還是可以被取得

但是在NET 2.0的GridView裡面,如果將visible設成false,那麼在codefile裡面,這個欄位的值將是空字串,這是因為只要visible是false,GridView在DataBind時,便會自動略過去此欄位

解決方法為:

在GridView的RowCreated event裡面,再設定隱藏的欄位,例如:

protected void gv_Coorgcd_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[4].Visible = false;
}

因為這個event handler是在data bound之後才會被觸發的,所以column裡面才會有資料

沒有留言: