Главная страница
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.48 MB
Время: 0.026 c
4-1125764005
viv-x
2005-09-03 20:13
2005.11.06
Работа с TAPI на Delphi под Win 98 и Win XP


1-1129103674
Mishenka
2005-10-12 11:54
2005.11.06
Как в ListView сделать, чтобы CheckBox был не у всех Item ов?


4-1125428752
deamon_t
2005-08-30 23:05
2005.11.06
Програмно выключить монитор


4-1125411791
Barvetal
2005-08-30 18:23
2005.11.06
Есть ли стандартный COM-сервер(LOCAL!) для открытия url?


5-1108317980
Profi
2005-02-13 21:06
2005.11.06
Логарифмическая шкала