4
這裏的情景(使用綁定到數據表中的BindingSource的一個DataSet中):撤消所有更改自BindingSource的最後一次EndEdit中調用
- 用戶創建一個新的地址簿 接觸,在第一和最後填充 數據綁定控件中的名稱。
- 他按Apply,其事件 處理程序調用 BindingSource.EndEdit()。
- 然後他意識到有一個 錯誤,並添加了一個電子郵件地址。
- 但是當他按Apply, 驗證失敗(無效的電子郵件 格式),所以EndEdit()不會被調用。
- 他決定不進行編輯,並且 按下取消按鈕,取消按鈕的事件處理程序調用 BindingSource.CancelEdit()。
- 但是,而不是恢復到與整個記錄的只是第一和 姓和沒有電子郵件的 的BindingSource反而擺脫了 的 新的聯繫人。
有沒有什麼辦法可以撤消自上次調用EndEdit()以來的操作?我的印象是,CancelEdit()應該如何工作。
我有一個類似的問題,所以我會很感興趣,看看你是否得到了一個很好的答案。我的解決方法是直接調用DataRowView對象上的EndEdit()。 – overslacked 2009-08-03 19:40:56
當您在DataRowView上調用它時,DataRowState會更改爲什麼?它仍然是新增的,還是變成修改或不變? – Dov 2009-08-03 20:27:59