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

Вниз

Перемещение по Таb на нужную колонку в DBGrid   Найти похожие ветки 

 
Grey   (2003-01-31 12:41) [0]

Когда перемещаемся по Tab между колонками в DBGrid и доходим до последней колонки или до ReadOnly колонки создаётся новая запись , и в этой новой записи курсор стоит на первой колонке .
Мастера, подскажите пожалуйста ,как сделать, чтобы курсор стоял не на первой колонке, а на определённой колонке (например 3-ей) ?


 
passm   (2003-01-31 12:53) [1]

Grey (31.01.03 12:41)> Может, так:
DBGrid.OnKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
(Sender as TComponent).Tag:= Key
end;

Query.OnNewRecord(DataSet: TDataSet);
begin
if (DBGrid.Tag = TextToShortCut("TAB")) and DBGrid.Focused then
DBGrid.SelectedIndex:= 3
end;


 
Grey   (2003-01-31 13:06) [2]

>passm ©
не происходит переход на 3-юю колонку, курсор - на первой

Какие ещё могут быть варианты ?


 
Grey   (2003-01-31 13:12) [3]

Главное, что когда вставляешь запись с помощью стрелки вниз , то курсор на 3-ей колонке, а с помощью Tab - не хочет становится в 3-юю, хотя OnUpdate срабатывает (проверял отладчиком). Видно это в самом DBGrid где-то зашито.
Помогите, Мастера.


 
Grey   (2003-01-31 14:56) [4]

Никто не знает что-ли ?
Мастера, отзовитесь, пожалуйста !!!


 
passm   (2003-01-31 15:31) [5]

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
inherited;
(Sender as TComponent).Tag:= Key
end;

procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
inherited;
if ((Sender as TDBGrid).DataSource.State = dsInsert) and ((Sender as TComponent).Tag = TextToShortCut("TAB"))
and ((Sender as TDBGrid).SelectedIndex = 0) then
(Sender as TDBGrid).SelectedIndex:= 2;
(Sender as TDBGrid).DataSource.Tag:= 0;
end;

procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
inherited;
if ((Sender as TComponent).Tag = TextToShortCut("TAB"))
and ((Sender as TDBGrid).SelectedIndex = (Sender as TDBGrid).Columns.Count - 1) then
(Sender as TDBGrid).DataSource.Tag:= 1
end;

Оптимизируй, если сможешь :)


 
MsGuns   (2003-01-31 15:52) [6]

AfterInsert - активизируешь поле, связанное с нужной колонкой.


 
passm   (2003-01-31 16:03) [7]

MsGuns © (31.01.03 15:52)> Этого мало. Прочти <Grey (31.01.03 12:41)>


 
MsGuns   (2003-01-31 16:06) [8]

>passm © (31.01.03 16:03)
Вырубить TabStop на фиг.


 
Grey   (2003-01-31 18:44) [9]

>passm ©

Большое спасибо ;-)



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
1-52977
Ihtiandr
2003-02-10 11:13
2003.02.17
Процедура


1-53048
Alex Shulg
2003-02-06 15:15
2003.02.17
ZIP-компоненты


1-52943
xxxCrazyManxxx
2003-02-09 05:22
2003.02.17
Mouse


1-53000
Uran
2003-02-10 15:54
2003.02.17
Как нарисовать в TChart синусоиду?


1-52869
Шоломицкий
2003-02-07 17:12
2003.02.17
Регионы форм!!!!!!!





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