logo
logo
UNDO ON ESCAPE [HookXplorer 23/01/2004 22:24]
здесь несколько иная суть...
 
это не совсем откат, в терминах бд сохраненная операция не может быть отменена (откачена) Откат операции может быть только в специальных случаях - при проведении транзакций, но это несколько иная область, чем та, что мы здесь обсуждаем.
Во всех случаях по отношению к сделаной записи - ее можно либо удалить, либо скорректировать (сторнирование другой записью - встречной, тоже тема иного обсуждения)
 
обычно на эскэйп вешается
либо закрытие формы ввода данных, если до этого небыло события "Вставить запись",
либо откатить "Вставленную но не заполненную запись",
Либо откатить "Втавленную, заполненную, но не сохраненную запись)
В случаях если событие "Эскэйп" совершается в режиме "просмотра редактирования" - делается примерно то-же самое, но поскольку редактируется ранее уже "вставленная заполненная и сохраненная" запись тут есть свои ньюансы - они выходят за рамки дискусии.
 
Вообще эскэйп закрывает форму если в записи БД не были "внесены изменения" или если небыли "добавлены записи".
В большинстве иных случаев достаточно подтверждения пользователем "сохранения/отката" изменений (Через Мэссэдж бокс).
Бывают исключения, когда целостность данных не поддерживается на уровне механизма БД и даже "редактирование без сохранения изменений" записи может повлиять на общую целостность данных БД, но такие случаи также выходят за рамки этой дискусии
 
в общем случае - закрыть форму без сохранения...
 
Dervish: Поскольку в user interface AbilityCash нигде нет редактирования "по месту", мне кажется, что Escape не стоит использовать для Undo.