![]() |
|
![]() ![]() ![]() |
|
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
Всем привет! Я сделал добавление строк поля ObjName таблицы ObjTable в меню программы
а вот как потом связать это меню с таблицей не знаю, например добавилась строка "объект 2", как при нажатии на нее в меню показать соответствующее поле таблицы (хотя бы в showmessage) Например таблица ObjName ObjAddr ObjPhone ---------------------------------------------------- объект 1 адрес 1 телефон 1 объект 2 адрес 2 телефон 2 объект 3 адрес 3 телефон 3 объект 4 адрес 4 телефон 4 объект 5 адрес 5 телефон 5 ---------------------------------------------------- нажимаем на объект 2 - выскакивает сообщение, содержащее "адрес 2" Надеюсь вы меня поняли ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Как-нибудь через .Tag, думаю.
![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
а что это? ![]() может наведешь на мысль, что почитать, где посмотреть? ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Ну, свойство .Tag у элементов меню должно быть, как и у всех компонентов. ![]() Я пока сам плохо представляю, просто первое, что в голову пришло. ![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
neweraser, в том же цикле, где создаёте новые пункты меню, назначайте каждому обработчик onclick, а в tag записывайте номер ассоциируемой записи. В Onclick приводите sender к нужному типу и выдираете значемие свойства tag. Теперь не составит труда получить данные из БД. ;)
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
вообще ничего в голову не приходит
![]() здесь даже не в базах данных дело, я не знаю даже как назначить определенное действие при нажатии на строки только что созданное меню вот, что-то нашел, но опять же не могу никак догнать... Добавлено через 3 минуты и 49 секунд artsb, можно на простом примере? -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
И не забудьте в классе описать процедуру: "procedure MenuItemClick(Sender: TObject);". ЗЫ в Делфи не силён, так что извиняйте если что-то криво ![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
не совсем понятно, зачем создавать таблицу если она уже есть и что значит clone? ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Мы не создаём новую таблицу, а создаем объект типа TADOTable и клонируем в него DataModule1. Благодаря этому, нам не нужно делать "лишних движений" и при добавлении фильтра пользователь ничего не заметит (особенное если используется DBGrid и т.п.). Т.е. мы работает с теми же данными. Но указатель у них свой. Благодаря этому, не видно перемещений по данным в основной таблице. После этого, добавляем фильтр и получаем нужную нам запись. А дальше делаем что хотим
![]() Добавлено через 2 минуты и 8 секунд Просто если добавить фильтр к основной таблице, то это отразится во всех компонентах, связанных с таблицей. Создавая клона, мы избегаем этого. Хотя в вашей ситуации может и без клона можно обойтись. Я же не знаю ![]() -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
![]() мне как раз и нужно чтобы в таблице выделялось поле путем выбора соответствующего названия в меню с этим я разобрался, а что с индексом? что-то не совсем понятно.. выдает ошибку ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Судя по всему, ошибка в том, что вы неправильное значение в Tag заносите (или не из того поля). И есть ли у вас поле id?
Добавлено через 3 минуты и 49 секунд
Хозяин - барин ![]() Это сообщение отредактировал(а) artsb - 15.1.2010, 10:39 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |