Главная страница
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.49 MB
Время: 0.028 c
2-1184524311
Pont
2007-07-15 22:31
2007.08.12
Вырезание из файла


2-1184159539
Dr. Andrew
2007-07-11 17:12
2007.08.12
Как корректно переконвертировать PWideChar в WideString?


15-1184238631
Zagaevskiy
2007-07-12 15:10
2007.08.12
SMS


2-1184074536
Xion
2007-07-10 17:35
2007.08.12
Проблема с потоком.


2-1184245623
ScorpioN2
2007-07-12 17:07
2007.08.12
Поменять имя программе