Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

Можно ли запретить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 3.208 c
4-1125315752
Shopot
2005-08-29 15:42
2005.11.06
Подскажите пожалуйста ссылки на учебники по работе с Com - портом


1-1129278171
Vriter
2005-10-14 12:22
2005.11.06
Оформление формы


1-1129217187
navinavi
2005-10-13 19:26
2005.11.06
Экспорт даннфх из Stringgrid в Excel


9-1119607531
ABS
2005-06-24 14:05
2005.11.06
GLScene


14-1129056541
Kerk
2005-10-11 22:49
2005.11.06
Поставил себе ярко красный wallpaper...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский