![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.08.2007
Сообщений: 13
|
![]()
Господа, необходимо решить задачу:
Имеется база база данных (interbase), доступ к ней организован с помощью IBQuery, на форме имеется RadioGroup, при выборе какого-то условия фильтрования, в DBGrid выводится результаты. Для навигации по этим данным я использовал событие OnCellClick которое содержит процедуру для переноса содержимого поля посредством dbgrid1.Fields[i] в edit1 и там с ним происходит редактирование. Но кроме фильтров у меня также имеется edit2 для ввода и поиска уникального (единственного) значения, и необходимо что бы это найденное значение сразу заносилось в edit1, т.е необходимо как-то имитировать событие OnCellClick. Пробовал вариант: после ввода значения в edit2 делал dbgrid.setfocus, а в dbgrid прописывал событие OnEnter, по этому событию вызывается процедура полностью скопированная из DBGrid1CellClick. При таком варианте событие OnEnter работает прекрасно, но OnCellClick никак не реагирует на щелчки, видимо эти два события как то конфликтуют между собой, потому что убираю OnEnter,OnCellClick работает. Спасибо за то, что дочитали до конца. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]()
Вообще, я все делаю по-другому... Правда, не в interbase, но какая разница?
Вытаскиваешь нужное с помощью Query Код:
Далее, вытаскиваем уникальное значение Код:
После редактирования DBEdit1 Код:
Последний раз редактировалось _SERGEYX_; 10.08.2007 в 14:36. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.08.2007
Сообщений: 13
|
![]()
_SERGEYX_ Спасибо за ответ, но хотелось бы обойтись без Table'ов.
|
![]() |
![]() |
![]() |
#4 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
![]()
а Серж не Table предлагает, а Query
![]() Вы ж с базой работаете,, без этих компонентов никак.... Если Вас напрягают запросы, то используйте конструкцию SetKey... Gotokey, lookup(),locate или GoToNearest()... Но запросы как-бы посалиднее... Если Вам нужно в edit2 уникальное значение, то может создать secondare key (чтобы избежать повторения значений)? Ну , а если и такой вариант не катит, то может вместо Edit1 использовать DBComboBox или DBlistBox? Если при поиске нашлось несколько значений, то заносить их в items... Поумолчанию устанавливаем Text равный первому найденному значению.... Ну а потом пользователь выбирает нужное ему значение... Либо оставляет то, что поумолчанию
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
События для DBGrid | Максим_Леонидович | Компоненты Delphi | 1 | 08.08.2008 22:43 |
Код для события. Delphi 7. | tlsol | Компоненты Delphi | 9 | 11.04.2008 15:02 |
Перехват события | juden | Общие вопросы Delphi | 5 | 23.05.2007 12:21 |
Обработчик события... | Flash_ | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 12.03.2007 21:24 |
Назначение события | EA_Sports | Общие вопросы Delphi | 2 | 11.03.2007 00:45 |