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

Вниз

Навигация по dbgrid у при multiselect е   Найти похожие ветки 

 
Alik Chu ©   (2002-05-27 14:13) [0]

Народ, столкнувшись с мультиселектом, получил проблемы и с клавиатурной навигацией по dbgrid"у:
Надо, чтобы юзер могу пробелом выделять строки, а стрелками перемещаться по записям, но стрелки, как известно, снимают выделение...
Что надо сделать, чтобы ОНИ (стрелки) только перемещали курсор, без каких-либо иных последствий?


 
Kuusiniemi ©   (2002-05-27 15:50) [1]

Есть два варианта:
1. Скопируйте в директорию Вашего проекта dbgrids.pas и исправьте там procedure TCustomDBGrid.KeyDown(var Key: Word; Shift: TShiftState);

Смотрите вызовы локальной процедуры procedure ClearSelection;

2. Сделайте своего насленика от TCustomDBGrid и переопределите для него KeyDown.


 
Lusha ©   (2002-05-29 09:52) [2]

Достаточно написать свой обработчик на OnKeyDown...
Вида...

if Key = VK_SPACE then
begin
TDBGrid(Sender).SelectedRows.CurrentRowSelected := not TDBGrid(Sender).SelectedRows.CurrentRowSelected;
Key := 0;
end;
if Key = VK_DOWN then
begin
TDBGrid(Sender).DataSource.DataSet.Next;
Key := 0;
end;
if Key = VK_UP then
begin
TDBGrid(Sender).DataSource.DataSet.Prior;
Key := 0
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
3-64954
vlv
2002-05-27 13:35
2002.06.20
Многопоточный обработчик вызовов к базе данных


3-64901
kserg@ukr.net
2002-05-29 10:33
2002.06.20
DBImage - непонятный глюк с визуализацией формы...


3-64910
Alik Chu
2002-05-25 10:47
2002.06.20
MultiSelect в bgrid е


1-65064
Charlz
2002-06-09 20:18
2002.06.20
замена каждого 3-его символа в строке


3-64961
victo73
2002-05-27 01:33
2002.06.20
Как вставить запись в середину таблицы?