Текущий архив: 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