Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.026 c
15-1144660757
Kolan
2006-04-10 13:19
2006.05.07
Режим реального времени в XP sp 2.


15-1145179994
mumakil raider
2006-04-16 13:33
2006.05.07
Почему не происходит ошибки?


2-1145349649
Белый Орёл
2006-04-18 12:40
2006.05.07
Сортировка по алфавиту


2-1145517328
K_VAL
2006-04-20 11:15
2006.05.07
ShowMessage - нажатие клавиши Enter


15-1144916441
Rentgen
2006-04-13 12:20
2006.05.07
как узнать дату вчерашнего дня в PHP