这是场景(它使用绑定到 DataSet 中的 DataTable 的 BindingSource):
- 用户创建一个新的通讯录联系人,在数据绑定控件中填写名字和姓氏。
- 他按下 Apply,其事件处理程序调用 BindingSource.EndEdit()。
- 然后他意识到有一个错误,并添加了一个电子邮件地址。
- 但是当他按下 Apply 时,验证失败(无效的电子邮件格式),因此不会调用 EndEdit()。
- 他决定不进行编辑,并按下取消按钮,其事件处理程序调用 BindingSource.CancelEdit()。
- 但是,BindingSource 并没有恢复到只有名字和姓氏而没有电子邮件的新联系人,而是摆脱了整个记录。
自上次调用 EndEdit() 以来,有什么方法可以仅撤消操作?我的印象是 CancelEdit() 应该如何工作。