我有一个表单,用户可以在其中使用 DataGrid 修改对象集合。打开表单时,我会创建原始集合的深层副本,如果按下“取消”按钮,我只会丢弃该副本。
问题是,当按下“确定”按钮时,我必须协调可能的更改:
- 修改现有对象的属性
- 新对象添加到集合中的任何位置。
- 现有对象已删除。
- 现有对象重新排序。
由于我需要保留原始引用,因此我不能只清除集合并添加修改的项目。
您知道一个可以像这样同步两个集合的简单算法吗?
我使用的是 C# 3.5,因此 LINQ 可用。
为什么不保留原件的副本,并绑定到实际的集合。如果您绑定到实际集合,则不会进行协调。当按下取消按钮时,只需将实际集合替换为原始集合的副本即可。它基本上是你想要做的事情的倒转......但它应该更容易管理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)