2015-09-15 172 views
0

我有一個DataGridView,我顯示了一些結果,可以由用戶編輯,有一個保存更改按鈕,將根據用戶輸入的任何內容更新數據庫。我已經檢查過,如果我編輯記錄,請將焦點放在另一個組件上,然後單擊按鈕更改將被適當保存。問題是,如果我有一個單元格在光標所在的位置,直接移動到保存更改按鈕並單擊它,唯一觸發的事件是CellEndEdit事件,該事件將註冊一個掛起的更改,但它不會更新數據庫,與預期的行爲相反,所以用戶需要再次按下按鈕來進行更改。點擊事件不會觸發,如果它導致CellEndEdit事件

有關如何在這種情況下首先觸發CellEndEdit然後觸發Click事件的想法,那麼結果將是預期的結果?

+0

使用調試器,並通過代碼步驟..我想新的價值觀還沒有被認可,你可以發佈你的代碼..所以我們可以看到你在做什麼......也做了谷歌搜索' CellBeginEdit和CellEndEdit'功能.. http://stackoverflow.com/questions/20267871/why-didnt-trigger-the-cellendedit-event-of-datagridview – MethodMan

+0

是DataGridView之外的按鈕?我建議你在處理保存之前先使用save按鈕調用DataGridView的'EndEdit'方法。通過這種方式,您可以確定所有單元格和行都不在「髒」模式下。 – Oceans

回答

0

我最終通過檢查CellEditEnd事件來解決它,如果保存更改按鈕被關注或沒有,如果是,我會做所有的保存過程,我認爲它應該觸發這兩個事件,但作爲只要它有效,我並不在乎。

感謝您的提示,因爲他們幫助我指導。