'按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之前)

'利用更新前進行錯誤處理及防呆,或是手寫更新程式,必須寫在這裡。

Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs)Handles GridView1.RowUpdating

'e.Keys:取得欲更新那筆資料的PK值。

'e.Cancel:True表示取消更新動作。

'e.OldValues:取得更新那筆資料,除了PK欄位之外的原始值。

'e.NewValues:取得欲更新那筆資料,除了PK欄位之外的更新值。

'e.RowIndex:目前要更新這筆資料在GridView中的索引值。

 

'取值都同下方RowUpdated裡的方式

End Sub

 

 

'按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之後)

Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs)Handles GridView1.RowUpdated

'e.AffectedRows:更新筆數。

'e.Keys:取得欲更新那筆資料的PK值。

'e.OldValues:取得更新那筆資料,除了PK欄位之外的原始值。

'e.NewValues:取得欲更新那筆資料,除了PK欄位之外的更新值。

'e.KeepInEditMode:Boolean,是否讓GridView維持在編輯模式。

'e.Exception:若更新發生例外,可透過e.Exception取得例外相關資訊。

'e.ExceptionHandled:Boolean,當例外發生且e.ExceptionHandled沒有為True時,會值接在網頁上顯示例外的錯誤畫面。

 

'cell裡的Label=================================================

Response.Write(GridView1.Rows(GridView1.EditIndex).Cells(4).Text)   '此法僅能取到Label,取不到編輯狀態的TextBox

 

'cell裡的TextBox===============================================

'取更新後的值

Response.Write(e.NewValues("Cost").ToString())  '方法一,Cost為欄位名

Response.Write(e.NewValues(0).ToString())  '方法二,0為第幾個TextBox

Response.Write(CType(GridView1.Rows(GridView1.EditIndex).Cells(5).Controls(1), TextBox).Text())   '方法三,5GridView的第幾Cell1為第1個編輯控制項

Response.Write(CType(GridView1.Rows(GridView1.EditIndex).FindControl("TextBox1"), TextBox).Text)  '方法四,TextBox1<EditItemTemplate>定義的TextBox ID

 

'取更新前的值

Response.Write(e.OldValues("Cost").ToString())   '方法一,4GridView

Response.Write(e.OldValues(4).ToString())   '方法二,4GridView的第幾行

 

End Sub

 

笑一笑吧!

arrow
arrow
    全站熱搜

    adamschen9921 發表在 痞客邦 留言(0) 人氣()