На нашем главном экране ввода данных у нас есть диалог OK / Отмена в событии OnBeforePost.
- ОК позволяет вещам идти своим чередом
- Отмена сейчас делает
Dataset.Cancel;
Что делает, для чего она предназначена, откатывает любые изменения и переводит набор данных в режим просмотра.
Это нормально для большинства клиентов, но нас спросили, можно ли изменить его на
- Отмена , отмена публикации и сохранение режима редактирования с сохранением текущих изменений.
Если они хотят отменить, они могут использовать кнопку отмены.
Глядя на источник для procedure TDataSet.Post;
, невозможно использовать событие таким образом.
У кого-нибудь есть мысли о том, как это можно сделать?
Follow Up: вот как я решил справиться с этим сейчас
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;