大家都知道GridView很強大可以直接提供新增、修改、刪除的功能,
不過有時候因為種種原因需要以程式binding動態的dataSet,就要自己處理GridView各類behavior,相關處理方式請參考http://www.dotblogs.com.tw/topcat/archive/2009/02/23/7266.aspx
------今天要分享一點關於「GridView的RowCommand事件」的心得------
GridView可能包含多個自行設計的Colume,每個Colume各有各的CommandName...並且分別執行不同的事情,透過取得e.CommandName就可以在事件中撰寫他們要執行的程式碼,如下面的範例
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Select Case e.CommandName
Case "Hello"
'當CommandName=Hello時處理本段程式
'(略..)
Case "ByeBye"
'當CommandName=ByeBye時處理本段程式
'(略..)
Case Else
Exit Sub
End Select
End Sub
上面的"Hello"和"ByeBye"都是正確的,但是如果用"Delete"就會出現如下圖的錯誤,piggy還想說都已經自訂程序勒,怎麼錯誤訊息還要我去處理RowDeleteing,如果大家以後遇到情況可能要檢查一下CommandName的命名,而不是傻傻的跑去撰寫RowDeleteing事件!!
〔心得〕CommandName命名絕對不可和GridView事件之名稱相同!
沒有留言:
張貼留言