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

Вниз

Работа с DBGried.   Найти похожие ветки 

 
Matveih1 ©   (2008-09-19 16:29) [0]

Как сделать так, что бы по нажатию на пробел выделялась строка в DBGried на которой стоит курсор, а если строка была выделена то выделение сбрасывалось и курсор переходил на следующую строку? Что то вроде множественного выбора но только с помощь пробела.


 
clickmaker ©   (2008-09-19 16:35) [1]

OnKeyPress
Options.dgRowSelect
DataSet.Next


 
Matveih1 ©   (2008-09-19 16:46) [2]

Понятно что обработчи вешать на KeyPress.
DataSet.Next – на следующую строку переходит Спасибо.
Только не выделяет строку на которой был.


 
Плохиш ©   (2008-09-19 16:50) [3]

SelectedRows + F1


 
Matveih1 ©   (2008-09-19 17:00) [4]

не очень помогло. Как обрабатывать выбранные я понял но вот как из выделить и что бы при это не отменилось то что было выделено что то никак.


 
Сергей М. ©   (2008-09-19 17:10) [5]


> как из выделить


Установка св-ва

DBGrid.SelectedRows.CurrentRowSelected := True

делает текущую запись дейтасета выделенной при ее выводе гридом.

Что тут не понятно ?


 
Поросенок Винни-Пух ©   (2008-09-19 17:12) [6]

DBGrid.SelectedRows.CurrentRowSelected := not DBGrid.SelectedRows.CurrentRowSelected


 
Matveih1 ©   (2008-09-19 17:16) [7]

СПАСИБО. Все получилось


 
Matveih1 ©   (2008-09-19 17:24) [8]

Еще один вопрос. Как сделать чтобы при перемещении по DBGried то что было выделено не сбрасывалось?


 
Правильный$Вася   (2008-09-19 17:33) [9]


> при перемещении по DBGried

чем и как?


 
Matveih1 ©   (2008-09-19 17:36) [10]

При перемещении с помощь стрелок VK_LEFT, VK_UP, VK_RIGHT,VK_DOWN.

Вообще желательно при любом перемещении. Выделять стороку и сбрасывать выделение только при помощи пробела.


 
Плохиш ©   (2008-09-19 18:28) [11]


> Matveih1 ©   (19.09.08 17:36) [10]

Это выходит за рамки встроенной обработки dgRowSelect. Реализуй сам.


 
MsGuns ©   (2008-09-20 18:30) [12]

Самый простой способ:

Создать массив integer или список, куда помещать ID записи, которую пользователь выделяет Если запись уже была выделена, то из списка удалять ее ID.

В грид добавить колонку, связанную с полем, содержимое которого не надо отображать (лучше всего ID), в обработчик OnGetText этого поля прописать Text := "" для того, что в этой ячейке ничего не рисовалось. Либо вместо доп.колонки использовать цветовое или шрифтовое выделение

В обработчике OnColumnCell грида искать ID отрисовываемой записи в упомянутом массиве (списке) и, если найден, то рисовать там "чекнутый" чекбокс либо иконку с галкой.

Установку/снятие отметки выполнять в обработчике двойного клика или какой-либо другой клавиши

Для обработки всего выбранного перечня записей использовать идентификаторы выбранных записей в массиве или списке


 
MsGuns ©   (2008-09-20 18:31) [13]

Пардон, вместо OnColumnCell читать OnDrawColumnCell


 
Matveih1 ©   (2008-09-22 10:00) [14]

Спасибо MsGuns! Идея хорошая. Попробую реализовать



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1222414992
Iris
2008-09-26 11:43
2008.11.02
Обработка ошибки


2-1222254838
@!!ex
2008-09-24 15:13
2008.11.02
Не получается правильно поставить Hook на нажатие клавиши...


15-1220722887
AlexDan
2008-09-06 21:41
2008.11.02
Экранная клавиатура..


4-1198918810
Winni
2007-12-29 12:00
2008.11.02
FindNextFile


15-1220620461
Плохиш
2008-09-05 17:14
2008.11.02
Поздравляю всех с началом нового учебного года!