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