![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запретить удаление по Ctrl+delete [D6]
Саша © (2002-06-09 15:51:00)Как запретить удаление из таблици по нажатию Ctrl+delete в Dbgrid"е. Зарание благодарен.
Producer (2002-06-10 14:45:00) [1]To Саша:
Обрабатывай для DBGrid"a событие OnKeyDown и проверяй на нажатие кнопки Delete и на состояние флага нажатия Shift и если это сочетание нажато, то присваивай коду нажатой клавиши значение 0. Вот и все. Я пробовал - помогает. Но лучше, конечно, воспользуйся советом Alexandr © - юзай DBGridEh - просто хорошая вещь. Удачи.
SB.John (2002-06-10 11:33:00) [2]Ну и еще один вариант. Завести флажок и поставить его в False.
Тогда можно в DataSet.BeforeDelete вписать:
if DBGrid1.Focused and not MyFlag then
Abort;
Ну, естественно, в своей процедурке удаления записи сначала сделать флажок true, удалить запись, потом MyFlag := false;
a.verichev (2002-06-10 10:31:00) [3]есть два варианта:
1. убрать вообще возможность редактирования грида
2. на onKeyDown навесить проверочку на ctrl-del...
Alexandr (2002-06-10 08:35:00) [4]используй DBGridEh
он тебе поможет. И не только в этом
Саша (2002-06-10 08:29:00) [5]Люди хелп ми ПЛИЗ
Саша (2002-06-09 16:57:00) [6]Гы тогда сразу сотрет, а надо ваще запретить, а по второму вареанту ваще стирать не будет когда ббгрид.фокуссед :-(
kaif (2002-06-09 16:35:00) [7]А что, отключение в Options dgConfirmDelete - не помогает?
Тогда можно в DataSet.BeforeDelete вписать:
if DBGrid1.Focused then
Abort;