Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];
ВнизПочему нажатие Tab в DBGrid переводит курсор на следующую запись? Найти похожие ветки
← →
forrest1 (2002-02-21 16:37) [0]Салют мастерам!
В названии темы уже практически всё сказано.
На форме 2 DBGridа Пусть фокус сосредоточен на DBGrid1. При нажатии клавиши Tab фокус перемещается на DBGrid2,
что вообщем-то вполне очевидно, если DBGrid2.TabStop=True.
Всё так и происходит, однако в DBGrid1 активной становится не та запись, на которой стоял курсор в момент нажатия Tab, а следующая.
Вопрос: Как сделать так, чтобы активной оставалась та же запись??(точнее, чтобы курсор не перемещался на следующую)
Спасибо.
P.S. При нажатии клавиши Tab в событии DBGrid1.OnKeyDown
Key имеет значение 9(проверял), что соответсвует Tab.
← →
Deus (2002-02-21 16:56) [1]а если в этом событии DBGrid1.OnKeyDown
присвоить Key:=nil;?
Или просто делать DBGrid1.DataSource.DataSet.Prior
← →
Johnmen (2002-02-21 17:03) [2]Не могёт таково быть !
Что-то ты не все сказал :)
← →
forrest1 (2002-02-22 14:36) [3]to Deus:
Спасибо! А без этого нельзя? А то как-то некрасиво, да и код
запутывает.
to Johnmen:
точно говорю. именно так всё и происходит. Попробуй поставь два DBGrida на Form. Точно говорю. Чтобы проще было понять сделай, чтобы в DBGridах была только одна колонка из Recordseta
Мой вопрос остаётся в силе.
← →
forrest1 (2002-02-26 09:09) [4]Неужели нет ответа???????? :))
← →
Johnmen (2002-02-26 09:52) [5]Ну вот видишь, сначала-то не сказал, что колонка одна...
Решение одно : обрабатывай KeyDown для DBGrid1 !
Примерно так :
if Key=9 then begin;
Key=0;
DBGrid2.SetFocus;
end;
← →
forrest1 (2002-02-27 11:43) [6]to Johnmen
Ты гений!
Благодарю!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c