Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1129205025
NailMan
2005-10-13 16:03
2005.11.06
Определение железки по индентификатору


2-1129168891
lmz
2005-10-13 06:01
2005.11.06
Округлени числа бухгалтерским методом


14-1128421476
Иг_Иг
2005-10-04 14:24
2005.11.06
Шахматисты !


1-1129190192
MixAnOL
2005-10-13 11:56
2005.11.06
Автоматическое фокусирование окна


14-1129636023
Stranger53
2005-10-18 15:47
2005.11.06
Новые версии Delphi




   Наверх