Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запретить удаление по 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо