使用ADO datatable copy()还原原始表数据

时间:2013-10-17 16:31:18

标签: ado.net datatable

我将数据表绑定到数据网格,用户可以在其中看到他/她正在进行的更改。我在更改开始之前复制了表格,以便在用户决定不接受更改时将原始数据放回原位。

使副本使用非常简单的语法(VB):

Dim copyDataTable As DataTable
copyDataTable = dataset.table.Copy()

但是,将语法反转为:

dataset.table = copyDataTable

给出“dataset.table是只读的。”

我可以找到使用数据表Copy()的唯一示例是创建 new 表,而不是复制回现有表。

我怀疑有一些简单的语法或方法,相当于制作副本,但到目前为止找不到运气。

任何熟悉如何操作的人,甚至是我正在尝试做的不同的方法?

谢谢, 查斯

1 个答案:

答案 0 :(得分:0)

解决方案是在MSDN上回答的另一种更简单的方法:

实际上,如果用户不想保存更改,那么您需要做的就是使用dataset.RejectChanges(),它会将您的DataSet恢复到原始状态(假设您没有发布.AcceptChanges( )在任何时候)。

~~ Bonnie Berent DeWitt [C#MVP]