如何在版本之前保存DataGridView单元格的值以进行撤消?

时间:2011-09-12 13:38:51

标签: vb.net datagridview undo

我正在使用命令设计模式为DataGridView添加撤消功能。

要创建EditCommand,我必须知道单元格的前一个值是什么,因此我可以重新输入它以防用户点击撤消。

我正在使用CellBeginEdit和CellEndEdit事件。

使用CellBeginEdit,我将单元格的值保存在私有变量中,在CellEndEdit函数中,我使用保存的值来创建EditCommand。

它工作正常,但我想知道是否有更实用的方法。也许是将前一个和新单元格值保持在一起的事件。

如果我实际上可以防止DataGridView自行更新并让EditCommand执行此操作,则获得积分。

1 个答案:

答案 0 :(得分:0)

我最近在一个大型WPF应用程序中实现了Undo / Redo,并且能够将Undo / Redo逻辑提取到一个独立的库中。这可以在CodePlex上找到。

如果用户选择撤消/重做,则库有助于保留可以重新应用的一堆历史记录。这可以替换您的私有变量,并允许撤消历史记录中的多个项目。

您可以在http://muf.codeplex.com/

找到文档和下载