如何回滚对绑定的DataGridView所做的更改?

Stu*_*wig 5 c# data-binding

我有一个DataGridView,其数据源设置为自定义对象的通用列表.当用户更改值(在这种情况下检查/取消选中复选框)时,对象中的基础布尔字段会发生变化.

我是否应该创建List的"副本"进行绑定,然后在用户提交时手动更新(如果是这样,如何创建此副本),或者是否有一种简单的方法来回滚对数据源所做的更改.

(我正在使用C#)

thi*_*mat 1

从技术上讲,除非您告诉它,否则它不会更新您的实际数据源,只是更新您绑定到网格的列表。您仍然可以随意处理此列表并重新查询源以将其刷新回之前的状态。

您可以只为用户添加一个提交选项,以将他们所做的所有更改提交回实际数据源。

像这样处理它会容易得多,而且可能会少很多强度。然后,您只需使用“取消更改”或某些此类选项即可刷新并再次从源重新绑定列表,而无需执行更新。

希望这可以帮助!

干杯!