Как сохранить значение ячейки DataGridView перед выпуском для отмены? - PullRequest
0 голосов
/ 12 сентября 2011

Я добавляю функцию отмены для DataGridView, используя шаблон проектирования команд.

Чтобы создать команду EditCommand, я должен знать, какое было предыдущее значение ячейки, чтобы я мог повторно ввести его, если пользователь нажмет отмену.

Я делаю это, используя события CellBeginEdit и CellEndEdit.

С помощью CellBeginEdit я сохраняю значение ячейки в закрытой переменной, а в функции CellEndEdit я использую сохраненное значение для создания команды EditCommand.

Работает нормально, но мне интересно, есть ли более разумный способ сделать это. Возможно событие, которое объединяет предыдущее и новое значение ячейки.

Бонусные баллы, если я действительно смогу помешать обновлению DataGridView и позволить EditCommand сделать это.

1 Ответ

0 голосов
/ 12 сентября 2011

Недавно я реализовал Undo / Redo в большом приложении WPF и смог извлечь логику Undo / Redo в отдельную библиотеку.Это доступно в CodePlex.

Библиотека помогает хранить стек истории, который можно повторно применить, если пользователь решит отменить / повторить.Это может заменить ваши личные переменные, а также учесть несколько элементов в истории отмен.

Документацию и файлы для загрузки можно найти по адресу http://muf.codeplex.com/

...