当使用保存按钮时,C# WinForms中的数据绑定应该如何工作?我不希望在按下保存按钮之前更新数据!
我有两个表单(列表和详细信息),分别由
数据绑定是否设计支持此功能?是否有常见的模式可供使用?
无论我怎么看待它,绑定似乎无法支持这种情况。我已考虑以下内容:
- 向详细表单传递对象的副本,但然后我必须在保存时对更改进行调和 - 在此期间,列表中的副本可能已经发生了更改。 - 实现
目前,我只能放弃我的详细视图中的数据绑定,并手动完成所有操作。这相当烦人。
我有两个表单(列表和详细信息),分别由
BindingList<T>
集合和我的自定义对象支持。我可以适当地将每个表单绑定到列表或对象。但是,在详细表单中进行的任何更改都会立即反映在列表表单中 - 我不想在按下保存按钮之前保存更改并更新列表中显示的详细信息。数据绑定是否设计支持此功能?是否有常见的模式可供使用?
无论我怎么看待它,绑定似乎无法支持这种情况。我已考虑以下内容:
- 向详细表单传递对象的副本,但然后我必须在保存时对更改进行调和 - 在此期间,列表中的副本可能已经发生了更改。 - 实现
IEditableObject
并在保存时调用EndEdit
几乎可以工作,因为我可以防止在按下保存按钮之前通知列表所做的更改,但如果其他原因导致刷新,则列表将使用中间数据进行更新。目前,我只能放弃我的详细视图中的数据绑定,并手动完成所有操作。这相当烦人。