Текущий архив: 2006.05.07;
Скачать: CL | DM;
ВнизПодтверждение удаления Найти похожие ветки
← →
Sw (2006-04-13 10:57) [0]Помогите, пожалуйста, разобраться. В DBNavigator ConfirmDelete:=False; (отключаю т.к. нужно вывести подтверждение по-русски).
Перед удалением (IBDataSetBeforeDelete) делаю проверку типа:
if id=sId then Application.MessageBox("Нельзя удалить, т.к..")
Но, перед этим необходимо подтверждение, т.е. "Вы действительно желаете удалить.."
Если использовать case Application.MessageBox("Удалить?"), "Подтверждение", MB_OKCANCEL) of
mrOk: if id=sId then ...
mrCancel: IBDataSet.Cancel
это не работает, т.к. здесь BeforeDelete
Подскажите, как вывести данное сообщение, если по отдельной кнопочке выполняютя данные действия - все проходит, а мне нужно удалять через DBNavigator.
← →
elfebet © (2006-04-13 11:06) [1]из DBNavigator сделать сообщение на русском языке - вряд ли получится
← →
Старик (2006-04-13 11:13) [2]а вместо дбнавигатора свои десять кнопок положить трудно?
← →
Anatoly Podgoretsky © (2006-04-13 12:02) [3]Да и DBNavigator имеет обработчик события BeforeAction
← →
Sw (2006-04-14 07:46) [4]Подскажите, пожалуйста, код в этом обработчике, if нажата nbDelete.
Извините, конечно, может глупо, но вот пишуif DBNavigator1.BtnClick(nbDelete) then
..- это не правильно, выдает ошибку
← →
ЮЮ © (2006-04-14 08:06) [5]if Button = nbDelete
Для чего, полагаешь, этот парамент в обработчике передается?
← →
Sw (2006-04-14 11:32) [6]Набрала Button = по Ctrl+пробел подсказочки нет, ну и все..паника
Будьте добры, объясните "особо одаренным" почему так работает:if Button=nbDelete then
if Application.MessageBox("Удалить клиента?",
"Подтверждение", MB_OKCANCEL)=mrCancel then
Abort;
а так Cancel не работает, Delete удаляет по две строки:
case Application.MessageBox("Удалить клиента?",
"Подтверждение", MB_OKCANCEL)of
mrOK: IBDataSet1.Delete;
mrCancel: IBDataSet1.Cancel;
end;
Подозреваю, что это так, потому что код в обработчике события, но как бы последовательно для себя объяснить не могу
← →
ЮЮ © (2006-04-17 04:12) [7]Потому что IBDataSet1.Delete выполнит сам навигатор, а ваш IBDataSet1.Delete - это уже удаление двух записей. IBDataSet1.Cancel здесь тоже бесполезен - он отменяет Insert и Edit, но не отменяет Delete. Abort в первом случае "убивает" весь код, исполняемый после нажатия кнопки, не только ваш обработчик прерывания, а и выполнение метода, вызвавшего этот обработчик.
Страницы: 1 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c