|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.12.2007, 20:12 | #1 |
Пользователь
Регистрация: 25.11.2007
Сообщений: 56
|
Вопрос по DBGrid
имеем: rowselect=true
необходимо определить какую именно строку мы выделили, т.е. определить какой номер записи (не или любые другие данные по этой записи) имеет выделенная строка в базе. Это связано с тем, что в грид мы выводим не все данные, а только часть с помощью SQL запроса. Определение этих данных необходимо сделать при вызове popupmenu нажатием правой клавиши мыши на необходимой нам строчке. Заранее спасибо за помощь! =) |
03.12.2007, 20:18 | #2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Этот же самый идентификатор вы можете вывести в связанный с датасетом дбтекст, или дбэдит, или вообще куда угодно... независимо от того, полная у вас выборка или частичная. |
|
03.12.2007, 20:33 | #3 | |
Пользователь
Регистрация: 25.11.2007
Сообщений: 56
|
Цитата:
Я просто не понимаю как это программно сделать. |
|
03.12.2007, 22:29 | #4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Код:
Для вашего случая будет Код:
Подозреваю, что вам нужно как-то пометить выделенную запись, чтобы при необходимости к ней обратиться. Для этого случая существуют методы GetBookmark, GotoBookmark, FreeBookmark. Bookmark - это временная пометка текущей записи. Эту пометку вы при необходимости можете поставить, чтобы использовать для обращения к помеченной записи. После использования ее нужно освободить. Последний раз редактировалось mihali4; 04.12.2007 в 01:42. |
|
03.12.2007, 22:57 | #5 |
Пользователь
Регистрация: 25.11.2007
Сообщений: 56
|
Все, теперь понял, спасибо огромное!
|
16.12.2007, 09:27 | #6 |
Пользователь
Регистрация: 25.11.2007
Сообщений: 56
|
Теперь такой вопрос: если у нас multiselect включен и выделено несколько строк в гриде, то как нам определить при этом условии id всех выделенных строк?
Работа с закладками в данном случае не очень удобна, т.к. у нас может быть одновременно выделено большое количество строк. Можно, разумеется, записывать индексы куда-то по одному по мере выделения, а затем их обрабатывать. Но, возможно, существует какой-то более простой (быстрый) способ. Последний раз редактировалось Cyn4uk; 16.12.2007 в 10:32. |
16.12.2007, 13:55 | #7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Смотрите в хэлпе SelectedRows property.
Вам автоматически предоставляется массив закладок для работы. Там же - пример. Последний раз редактировалось mihali4; 16.12.2007 в 21:49. |
16.12.2007, 17:50 | #8 |
Пользователь
Регистрация: 25.11.2007
Сообщений: 56
|
О, спасибо!
Если у кого-то будет подобный вопрос, вот код: Код:
|
17.12.2007, 12:05 | #9 | |
Пользователь
Регистрация: 17.12.2007
Сообщений: 37
|
Цитата:
|
|
17.12.2007, 14:19 | #10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Странный вопрос...
Точно также... Просто укажете имя другого поля... это - для второго варианта кода. Или, что еще проще - выберите мышкой нужное поле и первый вариант кода все вам покажет. Последний раз редактировалось mihali4; 17.12.2007 в 14:24. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DBGrid | DOLBY | Компоненты Delphi | 29 | 08.10.2008 00:05 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |
Вопрос про DBGrid и дату | HOVER | БД в Delphi | 3 | 31.05.2008 19:53 |
DBGrid | 1nurik1 | БД в Delphi | 17 | 17.07.2007 17:20 |