Вниз
Скачать: 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
2-1129022447
AndDem
2005-10-11 13:20
2005.11.06
Поиск сервера в локальной сети


14-1129567066
ArtemESC
2005-10-17 20:37
2005.11.06
Эффективный алгоритм


2-1129195944
Joy
2005-10-13 13:32
2005.11.06
DAO 3.5


1-1129130135
DelphiLexx
2005-10-12 19:15
2005.11.06
Экспорт TChart в Word


2-1129097058
Smolin
2005-10-12 10:04
2005.11.06
Строковые функции




   Наверх