Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Событие перед вводом   Найти похожие ветки 

 
DelphiLexx ©   (2007-04-25 18:46) [0]

У меня есть TFIBDataSet связанный через DataSource c DBGridEh"ом. Меня интересует следующее: Какое возникает событие у DataSet"a или DBGridEh"a при попытке ввести значение в ячейку т.е. до момента когда в ячейке появится курсор ввода.


 
Виталий Панасенко(дом)   (2007-04-25 19:22) [1]

а что в этот момент происходит ? по моему, ничего... вот, когда начинаешь набирать что-то на клаве, НД переходит в режим dsEdit и возникает событие BeforeEdit... "огласите весь список, пожалуйста...".. внятней


 
DelphiLexx ©   (2007-04-25 19:28) [2]


> а что в этот момент происходит ?

Появляется курсор в ячейке, а мне это не нужно


 
Виталий Панасенко(дом)   (2007-04-25 19:45) [3]

Вообще-то, у ГРИДА(и не только :-)) ) есть событие OnEnter(НаВход)... Выруби курсор тут, что мешает


 
DelphiLexx ©   (2007-04-26 09:11) [4]


> Вообще-то, у ГРИДА(и не только :-)) ) есть событие OnEnter(НаВход).
> .. Выруби курсор тут, что мешает

Но ведь OnEnter возникает не когда я перемещаюсь по ячейкам, а всего лишь один раз, когда я устанавливаю фокус с какого контрола на грид


 
ЮЮ ©   (2007-04-26 10:46) [5]

У TDBGrida представлено немного событий, ибо считаетися, что всё что нужно, уже реализовано:
OnCellClick
OnColEnter
OnColExit
OnColumnMoved
OnDrawColumnCell
OnDrawDataCell
OnEditButtonClick
OnTitleClick

Если вопрс связан с
http://delphimaster.net/view/3-1177508561/
и ты считаешь, что данный код замедляет скроллирование в гриде (именно в гриде. При программном сколлинге такой обработчик следует обnillять):

procedure TCustomDBGrid.SetOptions(Value: TDBGridOptions);
const
 LayoutOptions = [dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator,
   dgColLines, dgRowLines, dgRowSelect, dgAlwaysShowSelection];
var
 NewGridOptions: TGridOptions;
 ChangedOptions: TDBGridOptions;
begin
 if FOptions <> Value then
 begin
   NewGridOptions := [];
   if dgColLines in Value then
     NewGridOptions := NewGridOptions + [goFixedVertLine, goVertLine];
   if dgRowLines in Value then
     NewGridOptions := NewGridOptions + [goFixedHorzLine, goHorzLine];
   if dgColumnResize in Value then
     NewGridOptions := NewGridOptions + [goColSizing, goColMoving];
   if dgTabs in Value then Include(NewGridOptions, goTabs);
   if dgRowSelect in Value then
   begin
     Include(NewGridOptions, goRowSelect);
     Exclude(Value, dgAlwaysShowEditor);
     Exclude(Value, dgEditing);
   end;
   if dgEditing in Value then Include(NewGridOptions, goEditing);
   if dgAlwaysShowEditor in Value then Include(NewGridOptions, goAlwaysShowEditor);
   inherited Options := NewGridOptions;
   if dgMultiSelect in (FOptions - Value) then FBookmarks.Clear;
   ChangedOptions := (FOptions + Value) - (FOptions * Value);
   FOptions := Value;
   if ChangedOptions * LayoutOptions <> [] then LayoutChanged;
 end;
end;

Неужели без этого обработчика тормозов нет, а с ним - есть?
Попробуй менять ReadOnly (у Grida или DataSet-а).


 
MsGuns ©   (2007-04-27 21:55) [6]

Нифига не понял: надо запретить редактирование некоторых полей или "не пущать" туда курсор ?


 
DelphiLexx ©   (2007-04-28 09:42) [7]


> "не пущать" туда курсор

"не пущать" туда курсор это и есть блокирование редактрования


 
ЮЮ ©   (2007-04-28 10:13) [8]

> "не пущать" туда курсор это и есть блокирование редактрования

А вдруг ты вошел не для редактирования, а для взятия в буфер содержимого ячейки? А редактирование набора данных происходит при выходе курсора из ячейки. А попытка изменения - при изменении в InpaceEdit-е.


 
Виталий Панасенко(дом)   (2007-04-28 10:22) [9]


> DelphiLexx ©   (28.04.07 09:42) [7]
>
>
> > "не пущать" туда курсор
>
> "не пущать" туда курсор это и есть блокирование редактрования

Можно просто поле сделать Read-Only. и не парить то, что на Пасху красят



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1184088293
Bora_ru
2007-07-10 21:24
2007.08.12
Копирование каталога


1-1181126227
oleg_teacher
2007-06-06 14:37
2007.08.12
как узнать на каком обекте нажата правая клавиша миши


2-1184586933
Димыч
2007-07-16 15:55
2007.08.12
Юникод


15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


2-1184862965
olevacho_
2007-07-19 20:36
2007.08.12
Как отобразить данные в DBGrid





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