由 GridView 'GridView1' 引發但尚未處理的事件 RowDeleting

今天同事問我一個問題

為什麼他的螢幕上出現這樣的錯誤訊息

今天同事問我一個問題

為什麼他的螢幕上出現這樣的錯誤訊息

2008-9-9 PM 09-56-17

原本以為是錯在GridView的RowDeleting的事件中有錯誤的code

但是看字面又不像

因為沒遇過這種狀況又有人請幫忙看

只好一行一行code幫他看囉~

看別人的bug還真是費工夫

因為你不知道別人是用什麼方法...流程等

 

結果發現原來這邊的GridView是綁定自行建立的dataset上面

也就是說關於資料庫的新增、修改、刪除都是需要自行寫code的

而同事也有乖乖的在實做了2個代表新增、修改的按鈕並各自寫OnClick

(先不討論在GridView中為什麼還要特地轉樣版在另外寫OnClick)

大家都知道綁定DataSourceID到資料來源控制項的話如果您有在控制項上設定為可編輯、修改的話

那麼資料來源控制像是會自動幫您做這些動作的...

也就是說根本不用寫這些事件的code除非您有特殊需求

例如在刪除資料的同時還需要另外處理某些事

 

這邊的錯誤就是錯在既然已經自己寫刪除資料的事件了

那麼RowDeleting就用不到了

您也不會在去寫這段code

這還蠻合理的

那既然用不到的話那麼就應該要注意頁面中是否有某些控制項會去觸發到RowDeleting了

看到這邊應該就瞭解了吧

 

cloudio就不舉例了很抱歉

因為cloudio試了幾次還是沒辦法再次設定出那種由IDE設定出的code來

自行寫也忘記同事的code了

只能明確的跟各位報告及提醒自己

這種情況是多替GridView中的控制項將其CommandName設定為Delete造成的

因為這邊既然Delete事件已經自行建立了

就應該避免再次觸發GridView的RowDeleting事件了

只要把多設定為Delete的CommandName控制項做適當的修正即可

設定CommandName時也應該注意不能與預設的CommandName相同~