我正在使用 BindingSource 在数据集中的数据表中导航。我有自定义的后退、前进、删除和新建按钮。除了“删除”按钮之外,我已经完成了所有工作。
删除一行后,该行将保留在 BindingSource(标记为“已删除”)中,直到我提交更改。我理解这一点,但问题是我不想在用户删除记录后立即提交更改。他们有机会添加和删除多条记录,然后单击“保存”或“取消”按钮一次性提交所有更改。
因此,在我使用删除按钮删除一行后,我无法再浏览记录,因为该行已被标记为删除但它仍然“存在”,所以我收到错误“无法通过该行访问已删除的行信息" 当我来回浏览记录时,因为记录被标记为删除,但您仍然可以在 BindingSource 中浏览它。
这几乎就像我只想将 BindingSource 绑定到未删除的记录一样。 这样,当用户删除一条记录时,它不再出现在 BindingSource 中,但是当我提交数据表更改时它会被删除。
另外,这是删除一行的正确方法吗?:
binder.RemoveAt(binder.Position)
非常感谢您的帮助。