Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Вниз

Работа с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
15-1220966449
{RASkov}
2008-09-09 17:20
2008.11.02
Excel


2-1222239809
AndreyBg
2008-09-24 11:03
2008.11.02
Перебор записей в датасете.


2-1222054942
Алексей1985
2008-09-22 07:42
2008.11.02
Удаление элементов из масива


2-1222350296
tytus
2008-09-25 17:44
2008.11.02
idFTP - как скачать файл с определенной позиции


2-1222028467
programmer90
2008-09-22 00:21
2008.11.02
Проблема с маской





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