Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизКак запретить удаление строк по Ctrl+Del Найти похожие ветки
← →
Vemer (2003-10-08 01:05) [0]Доброго времени суток!
Как можно запретить удаление строк в DBGRID по нажатию СTRL+DEL?
Я уже с горя и в BEFORE_DELETE гадости всякие писал, и в \VCL\DBGrids.PAS залез и пробовал окружать VK_DELETE фигурными скобками, но ни фига. Может я не тот файл ковырял? В общем посоветуйте чего-нибудь пожалуйста.
← →
Zacho (2003-10-08 01:09) [1]Хоть по Ctrl-Del, хоть еще как-нибудь - в BeforePost напиши Abort :-))
← →
kaif (2003-10-08 01:26) [2]По-моему там в Options где-то было ConfirmDelete (или это в DBNavigator?) - вот память! склероз...
В общем. Ложишь TActionList. Суешь туда TAction с ShortCut = Ctrl+Del и в обработчик Execute записываешь точку с запятой. Я думаю шорткат убьет это дело. Может есть способ еще как shortCut создать пустой. А можно и обработчик оконных сообщений перехватить, конечно.
2 Zacho © (08.10.03 01:09) [1]
Не в BeforePost, а в BeforeDelete.
Это самое простое решение. Но тогда вообще нифига не удалить. А челу нужно, чтобы из dbgrid-а не удалялось по ctrl+Del.
← →
Johnmen (2003-10-08 01:34) [3]Да не, мужики, самое простое - отработать OnKeyDown.
Если ctrl+del, то ничего и не делать, Key:=0
;)
← →
kaif (2003-10-08 01:40) [4]2 Johnmen © (08.10.03 01:34) [3]
А я вот подумал... Еще лучше у формы отработать OnKeyDown. И KeyPreview = True поставить! Тогда сколько бы гридов на форму не положили, у них нифига ctrl+del работать не будет!
:)
← →
Zacho (2003-10-08 01:41) [5]А я обычно попап-меню лажу с шорткутом Ctrl-Del :)
← →
kaif (2003-10-08 01:59) [6]2 Zacho © (08.10.03 01:41) [5]
А я обычно попап-меню лажу с шорткутом Ctrl-Del :)
;)
← →
Zacho (2003-10-08 02:05) [7]
> kaif © (08.10.03 01:59) [6]
Правильно заметил :)
Именно лажу :)))
← →
Deniz (2003-10-08 07:08) [8]Лучше все таки у Grid"а onKeyDown
А еще можно ReadOnly выставить, и тогда у юзера воообще прав не будет
← →
MsGuns (2003-10-08 11:26) [9]Вешать OnKeyXXX для контроля за праввкой датасета на грид - это, ИМХО, верх маразма ! Причем здесь грид, господа-товарищи ? Где ваша логика мастаки ? Удаление чего, строки грида ? БЕЗОБРРРАЗИЕ !!! ЧЕМУ УЧИТЕ МОЛОДУЮ ПОРОСЛЬ ? Я НА ВАС ПОЖАЛУЮСЬ АР и app одновременно !!!
Только через экшины и шорткаты.
ЗЫ Совсем распустились, сладу нет.
ЗЗЫ. Блин !
ЗЗЗЫ. БЛИНННН !!!
← →
Johnmen (2003-10-08 11:39) [10]>MsGuns © (08.10.03 11:26)
"И незачем так орать" (c) не помню
Если ты не сделаешь обработку, то ее за тебя сделает контрол. Видимо, он тоже маразматик...
В следовании некоей идеологии не надо доходить до полной упертости, надо быть гибче.
И есть еще такое дело, как вкус.
← →
MsGuns (2003-10-08 13:50) [11]>Johnmen © (08.10.03 11:39) [10]
>В следовании некоей идеологии не надо доходить до полной упертости, надо быть гибче
А в глаз ? ;)))))))
← →
Johnmen (2003-10-08 14:08) [12]>MsGuns © (08.10.03 13:50)
Нэ надо 8^)))
← →
Жук (2003-10-08 14:25) [13]Прикольно будет посмотреть, как поссорились до глазобития MsGuns © и Johnmen © :-)))
← →
Val (2003-10-08 14:41) [14]>Жук © (08.10.03 14:25) [13]
появятся рядом с никами вторые синие кружочки с С в обратную сторону :)
← →
Anatoly Podgoretsky (2003-10-08 15:12) [15]MsGuns © (08.10.03 11:26) [9]
Правильно, я за OnBeforeDelete, а для тех кого пугает, что нельзя удалить в других случаях напоминаю про флаги.
← →
Johnmen (2003-10-08 15:51) [16]>MsGuns ©
>Anatoly Podgoretsky ©
Осталось только убрать "Delete record ?" :0)
Это во-первых. А во-вторых, автор четко сказал, что не удалять по Сtrl+Del. А в остальных случаях м.б. надо удалять. А вы его грубо обрубили :)))
← →
Romkin (2003-10-08 16:05) [17]Зачем флаги? Это уж путаться так путаться. Ctrl+Del, имхо, специфично для DBGrid, так что все нормально
← →
Anatoly Podgoretsky (2003-10-08 16:10) [18]Johnmen © (08.10.03 15:51) [16]
Когда это он успел сказать, я не заметил.
← →
Romkin (2003-10-08 16:12) [19]2Anatoly Podgoretsky Вторая строка вопроса :)))
← →
Anatoly Podgoretsky (2003-10-08 16:17) [20]Ну вижу я ее
Как можно запретить удаление строк в DBGRID по нажатию СTRL+DEL
if not flag then abort
flag ;= False
← →
Romkin (2003-10-08 16:19) [21]Почему не естественное OnKeyDown?
← →
Vemer (2003-10-08 16:29) [22]Снова я.
Спасибо за ответы.
Как правильно поймать в OnKeyDown комбинацию CTRL+DEL.
Просто Delfi дома а нормальный Инет на работе :).
Может так:
IF (Key = VK_Control + VK_Delete) Then
exit;
Заранее благодарен за пример.
← →
Romkin (2003-10-08 16:33) [23]if (ssCtrl in Shift) and (Key = VK_DELETE) then Key = 0;
← →
Anatoly Podgoretsky (2003-10-08 16:41) [24]Romkin © (08.10.03 16:19) [21]
Конечно можно, но не люблю я сажать на этот обработчик
← →
Romkin (2003-10-08 16:44) [25]Я тоже. И не сажаю. Но мало ли...
← →
Anatoly Podgoretsky (2003-10-08 16:45) [26]Родственные души
← →
Anatoly Podgoretsky (2003-10-08 16:46) [27]У меня правда проблемы нет - Dataset ReadOnly
← →
Johnmen (2003-10-08 16:56) [28]Все-таки в данном случае keydown оправдано. Ведь мы всего лишь присекаем попытку контрола по-своему, одному ему ведомым способом, среагировать на ctrl+del. При этом нигде ничего не говорим, что делать с НД...
А в остальном согласен. :)
← →
Delirium^.Tremens (2003-10-08 17:07) [29]
> Deniz © (08.10.03 07:08) [8]
> Лучше все таки у Grid"а onKeyDown
> А еще можно ReadOnly выставить, и тогда у юзера воообще
> прав не будет
Лучше просто Grid с формы убрать и забыть о боли...
:-)))
← →
MsGuns (2003-10-08 17:12) [30]Блин, чем чепуховее квест, тем, блин, бОльше толпы на него слетается. Ну, чесслово, ну как дети ! Вы б еще обоссали вопрос о том, как в гриде нарисовать вместо квадратного ползунка восьмиугольный... ВОЗМУТИТЕЛЬНО, серьезные ж люди, а как детки малые ;))))
← →
MsGuns (2003-10-08 17:20) [31]Боже милосердный ! Ну, конечно же обсосали , а не так, как вышло. Позор на мои седины ! Прошу прощения у всех - это, видит бог, не нарочно.
ЗЫ. Спасибо знакомому, лазил в форуме, увидел - позвонил - пристыдил.
← →
Johnmen (2003-10-08 17:36) [32]Видимо высший разум направлял твои пальцы по клаве, когда набирал выделенное слово в первом варианте. Ведь именно так и делают многие. И я иногда...:)
Казалось бы, причем здесь чепуховое путешествие ?
:)
← →
MsGuns (2003-10-08 17:43) [33]>Johnmen © (08.10.03 17:36) [32]
А чего это ты поголубел-то ? Неужель Отцы тебя оценили и повысили ? Поздравляю, Жень, ИМХО, абсолютно заслуженно ;))
← →
Johnmen (2003-10-08 17:53) [34]>MsGuns © (08.10.03 17:43)
Да, повысили, как я ни сопротивлялся...:)
Спасибо за поздравление !
← →
Anatoly Podgoretsky (2003-10-08 17:55) [35]Неужели недавно, по моему ты всегда такой был?
← →
Romkin (2003-10-08 18:00) [36]:))) АР, ну посмотри на его значок в начале ветки...
← →
Vlad (2003-10-08 18:01) [37]Johnmen ©, давно уже пора было ! :)))
Поздравляю!
(автор - сорри за оффтоп)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.01 c