![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CachedUpdates и отмена дейтсвий [D7]
Opilki_Inside © (2006-08-07 15:45:00)CachedUpdates штука конечно хорошая. Но вот чего явно ей не достает - так это нормальная отмена последнего действия.
Чисто теоретически ее можно реализовать с помощью обработки соответствующих событий, может кто делал нечто подобное?
Медведъ (2006-08-07 17:57:00) [1]веди лог изменений в отдельном датасете - значения полей до их изменения
при откате извлекай последнюю и пост их в рабочий датасет
Opilki_Inside (2006-08-07 17:32:00) [2]
> Встречный вопрос - почему в MS Paint сделан откат всего
> одной операции? Несложно ведь...
А почему в WordPad'е сделан откат нескольких операций?
Desdechado (2006-08-07 17:23:00) [3]> почему разработчики не сделали этого в датасете, кэш-то
> все равно хранит все изменения.
Он хранит изменения, а не их последовательность.
Встречный вопрос - почему в MS Paint сделан откат всего одной операции? Несложно ведь...
Opilki_Inside (2006-08-07 17:14:00) [4]
> Используй TClientDataset
Была такая мысль, но я не понимаю почему разработчики не сделали этого в датасете, кэш-то все равно хранит все изменения...
> А уж это извините-с не реализовано. Напиши свой датасет
> и реализуй.
Ну так я и спрашивал - кто-нибудь писал что-то подобное? А что этого нет я и так знаю.
evvcom (2006-08-07 16:44:00) [5]> [2] Opilki_Inside © (07.08.06 16:40)
Cancel отменяет только изменения текущей редактируемой записи, т.е. тех, которые не зафиксированы методом Post. А все изменения отменяются методом CancelUpdates.
> И что бы была возможность отменять изменения, пока кэш не
> станет пустым...
А уж это извините-с не реализовано. Напиши свой датасет и реализуй.
Romkin (2006-08-07 16:41:00) [6]Используй TClientDataset
Opilki_Inside (2006-08-07 16:40:00) [7]Хех... Я наверно непонятно объяснил...
Если я вызову процедуру Cancel, то отменятся все записи, которые пользователь отредактировал/удалил, ну и конечно которые находились в локальном кэше.
Я хочу, что бы когда пользователь нажимал "Отмена" - отменялось только последнее действие пользователя (хотя бы отменялись изменения в конкретной записи, кстати там есть функция отменающая изменения в текущей записи...), и эта процедура не затрагивала всех записей(если их > 1 ест-но) в кэше. И что бы была возможность отменять изменения, пока кэш не станет пустым... Теперь понятно?
Desdechado (2006-08-07 15:57:00) [8]Dataset.Cancel