[转][ASP.NET]如何取得GridView中隱藏欄位的值
無論是自己手寫資料來源去繫結GridView或是用SqlDataSource去繫結GridView,
不要在GridView的欄位屬性去設定 Column.Visible = false,
因為這樣會取不到隱藏之後的值!!!!
簡單的做法是在GridView的Row_Created事件中手寫程式來隱藏欄位,
這樣不但可以隱藏欄位而且也可以正常的取值!!!!!
這是因為Row_Create事件在DataBind( )之後,我們在Binding之後才隱藏所以可以取到值
(PS.不過要記得要取的值是在Row的第幾個Cell內,雖然看不到隱藏欄位,但是索引都是存在的!!!)
以下是簡單範例:
protected void GridView_RowCreated(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)
{
//要隱藏的欄位
e.Row.Cells[1].Visible = false;
}
}
{
if(e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)
{
//要隱藏的欄位
e.Row.Cells[1].Visible = false;
}
}