如果用户单击“取消”,则撤销使用gridview修改的记录
本文关键字:gridview 修改 记录 单击 用户 取消 如果 | 更新日期: 2023-09-27 17:49:24
我有一个用户修改页面,它显示了用户使用GridView对象可以访问的报告列表。
我想做的是,如果有人对用户页面做了一堆更改,但然后点击取消,所做的所有更改将被撤销。我这里的主要问题是GridView,它有添加/删除/修改按钮,绑定到一个单独的表。
所以如果我打开我自己的页面,添加一个新的报告到gridview,然后点击取消,我不希望报告被保存到我的帐户..同样,如果我删除一条记录,然后点击取消,该记录不会被删除。
最好的方法是什么?
您需要在datatable
中维护此内容,并将其放在Session
变量中,并将gridview绑定到会话中的数据表。因此,一旦您完成更改并希望在DB中提交更改,您必须执行play with Datatable Row State
,从中可以找到添加的行和删除或修改的行。
请阅读本文以了解Datatable Row状态system.data.datarow.rowstate
在这种情况下,你不能将GridView绑定到真正的数据源(实体框架)。如果您这样做,更改将被写入数据库,并且您将很难回滚它们。GridView必须处理存储在会话中的临时数据,只有在提交更改(页面上的Save按钮)后,数据才会被EF写入数据库。