[转][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;       
  }           
}

 

 
posted @ 2011-09-23 11:56  Franky Chan  阅读(359)  评论(0编辑  收藏  举报