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

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

Перемещение по записям в DBGrid [D7]


Студент1 ©   (2004-04-01 11:31:00) 

Здравствуйте!!! Подскажите, пожалуйста, как сделать, что бы при редактировании/добавлении записи в DBGrid нельзя было перемещаться по записям вверх и вниз (ни клавой, ни мышкой)???


Юзер   (2004-04-01 15:38:00) [1]

>  [12] сам автор   (01.04.04 15:26)

Все кнопки не заблокируешь! Заблокируешь - так мы мышь переключимся! Или еще три кнопки волшебные знаем, но не скажем, а то вдруг заблокируешь! Хоть тут и говорят, что нельзя, но мы им не верим! Ты все могешь!

PS
Нашу песню не задушишь, не убьешь, не убьешь, не убьешь!


сам автор   (2004-04-01 15:26:00) [2]

перемещаться по записям вверх и вниз (ни клавой, ни мышкой)???
А может просто сделать так чтобы кроме при нажатии еск программа не выходила из ре6жима редактирования (т.е. заблокировать остальные кнопки)


Курдль   (2004-04-01 15:21:00) [3]

TATIANA, браво!
Нефиг злобным юзерАм столько свободы давать!


TATIANA   (2004-04-01 15:11:00) [4]

Я не гений в программироваии , и потому во избежании ошибок при редактировании и удалении делаю модальную форму ввода , редактирования , изменения . Опыт работы многих лет с пользователями , а уследить бывает очень сложно , все ситуации не предусмотришь . Не ленитесь , все окупится .


Anatoly Podgoretsky   (2004-04-01 13:40:00) [5]

Неблагородное это дело - телепатия


KSergey   (2004-04-01 13:34:00) [6]

>  [6] Соловьев ©   (01.04.04 13:22)
> и как ты сохранишь тогда? :)

Как верно заметил АП - это и не спрашивалось ;)
Да, к стати, отменить редактирование/вставку такой код, пожалуй, не запретит... Надо еще и в BeforeCancel отходные пути перекрыть аналогичным способом ;)

Рискну предположить, что автор таки разрешит сохранение по какому-то условию...


Anatoly Podgoretsky   (2004-04-01 13:24:00) [7]

Да никак, у него по определению не предусмотрен выход из режима редактирования, по своему желанию.
Вообще в таких случаях надо просто редатктировать в модальной форме.


Соловьев   (2004-04-01 13:22:00) [8]


> if (DataSet1.State = dsEdit) OR (DataSet1.State = dsInsert)
> then  Abort;

и как ты сохранишь тогда? :)


KSergey   (2004-04-01 13:16:00) [9]

>  [4] Соловьев ©   (01.04.04 12:17)
> OnKeyDown - лови 40 и 38 и решай что делать.

А если мы мышью на очередной контрол ткну?

Я бы наверное на BeforePost DataSet'а вписал что-то такое:

if (DataSet1.State = dsEdit) OR (DataSet1.State = dsInsert) then  Abort;

Вот только как же быть бедному пользователю, если ему таки захочется выйти и программы, а он так неосмотрительно начал редактирование? Вы хоть предупредите о такой подлянке ;)


Соловьев   (2004-04-01 12:17:00) [10]

OnKeyDown - лови 40 и 38 и решай что делать.


Студент1   (2004-04-01 12:15:00) [11]

<<< При редактировании и нельзя, можно после, сразу как выйдет из режима редактирования.
А у меня перемещается и выходит из режима редатирования!!! А мне этого не надо!!!


Курдль   (2004-04-01 11:49:00) [12]

DataSet.DisableControls


Anatoly Podgoretsky   (2004-04-01 11:41:00) [13]

При редактировании и нельзя, можно после, сразу как выйдет из режима редактирования.


Наверх

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