Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Можно ли запретить DBGrid создавать запись ?   Найти похожие ветки 

 
WG   (2005-09-23 13:56) [0]

Вопрос - можно ли запретить DBGrid создавать запись при нажатии "стрелка вниз" на последней записи в базе ? Проблема в том, что при создании новой записи некоторые поля должны сразу получать некие значения (пользователь эти поля не видит).


 
Ega23 ©   (2005-09-23 14:01) [1]

Можно. Для этого не надо использовать TTable (TADOTable) или TClientDataSet. Или поставить TDBGrid.ReadOnly:=True;


 
Danilka ©   (2005-09-23 14:26) [2]

WG   (23.09.05 13:56)
Вопрос - можно ли запретить DBGrid создавать запись при нажатии "стрелка вниз" на последней записи в базе ? Проблема в том, что при создании новой записи некоторые поля должны сразу получать некие значения (пользователь эти поля не видит).


Как создание записи "при нажатии "стрелка вниз"" связанно с тем, что "при создании новой записи некоторые поля должны сразу получать некие значения"?
Например, у набора данных, например, есть событие OnAfterInsert, в котором можно заполнять эти самы поля.


 
Виталий Панасенко   (2005-09-23 14:43) [3]


> Например, у набора данных, например, есть событие OnAfterInsert,
>  в котором можно заполнять эти самы поля.

Обычно это делают в OnNewRecord


 
Savek   (2005-09-23 14:47) [4]

Запретить можно вот так:

procedure TForm1.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
   Abort;
end;


 
ANB ©   (2005-09-23 15:03) [5]

Еще можно перейти на эхлиб. Там ненужный функционал отключается в опциях.


 
msguns ©   (2005-09-23 15:09) [6]

Суть вопроса в непонимании функций грида, датасета, а также их событий и разницы между "клиентом" (программой) и "сервером" (физической таблицей БД).

Чтобы избежать автодобавления по Ins и не только рекомендую использовать акции (TActionList,TAction,TImageList), которые назначить соответствующим действиям юзера (редактировать, удалить, изменить и т.д.)
Соответствующим акциям назначить горячие ключи (TAction.ShortCut), соответствующие аналогичным кнопкам грида.
В дальнейшем, исходя из текущей ситуации, управлять ими, включая или выключая соотв. акции (TAction.Enabled)
Такая технология позволяет не только избавиться от "самодеятельности" гридов, но и централизовать все управление (один и тот же экшн может быть назначен пункту гл.меню, кнопке на панеле управления, пункту всплывающего меню и т.д.)


 
Ega23 ©   (2005-09-23 15:33) [7]

Поддерживаю [6]



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.044 c
14-1129181128
syte_ser78
2005-10-13 09:25
2005.11.06
Книга "советы программистов"


14-1129553300
ZeroDivide
2005-10-17 16:48
2005.11.06
Вопрос по оптимальному выбору видеокарты для старого железа.


14-1128783117
ReStudent
2005-10-08 18:51
2005.11.06
Бинарное дерево


1-1129547697
Oleg_
2005-10-17 15:14
2005.11.06
как задать шрифт заголовка окна под win 2003


1-1129379128
kblc
2005-10-15 16:25
2005.11.06
ProgIdToClassID ()





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский