powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms 6i Подскажите, как сделать
14 сообщений из 14, страница 1 из 1
Oracle Forms 6i Подскажите, как сделать
    #33174029
Vladkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме есть два поля текстовое и всплывающий список. В тригере POST-TEXT-ITEM текстового поля формируется список выбора для всплывающего списка. При работе с помощью клавиатуры всё работает нормально. Если же после заполнения текстового поля кликаю мышью по всплывающему списку, то появляется предыдущий список выбора. Новый список выбора создается только после выбора из этого списка. Если предварительно кликнуть мышью по другому текстовому полю, то все нормально. Ощущение такое, что сначала открывается список и производится выбор из него и только потом происходит навигация из текстового поля в поле списка, в процессе которой и срабатывает тригер. У всплывающего списка перемещение мышью разрешено. Что нужно сделать, чтобы было нормальное поведение формы не только с помощью клавиатуры, но и мыши?
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33174062
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам не сталкивался (избегаю таких ситуаций принципиально) , но может помочь в принципе вызов процедуры
syncronyze. Или использование "мышинных триггеров" Wnen- mouse-что там клик. Или читать :SYSTEM.MOUSE_ITEM (или подобное). Пусть ваша логика выполняется не только после POST-TEXT, но и когда когда Wnen- mouse-что там клик.
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33174359
FRM-42100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VladkanНа форме есть два поля текстовое и всплывающий список. В тригере POST-TEXT-ITEM текстового поля формируется список выбора для всплывающего спискаХочется больше информации... Каким образом формируется? Для чего это вообще надо? Версия формсов? C/S или web?
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33174385
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FRM-42100Хочется больше информации... Каким образом формируется? Для чего это вообще надо? Версия формсов? C/S или web?

из топика ж видно что 6i.
да мне кажется там суть в том, что раскрытие списка происходит не тогда когда нужно. помню такое проискодит в многозаписном блоке, когда один из элементов -- выпадающий список: если кликнуть по этому элементу на другой строке, то сначала раскроется список, но текущая строка останется та же что и была.
как побороть не знаю.
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33174401
dennis :)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню, цивилизованными методами это не борется, т.к. клик на стрелку списка не инициирует предварительного срабатывания триггеров предыдущего поля. Лучше перейти на LOV и отказаться от списка.
Если хочется поупражняться, можно пошаманить с мышиными триггерами или таймером.
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33174405
FRM-42100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ales Protivиз топика ж видно что 6iВиноват, не прочитал subj
Ales Protivда мне кажется там суть в том, что раскрытие списка происходит не тогда когда нужно. помню такое проискодит в многозаписном блоке, когда один из элементов -- выпадающий список: если кликнуть по этому элементу на другой строке, то сначала раскроется список, но текущая строка останется та же что и была. как побороть не знаю.Все так и есть, см. Bug2952485 , Note:1041727.6 - WHEN-NEW-ITEM-INSTANCE-TRIGGER Doesn't Fire When Clicking Arrow of Listitem и Note:1004677.6 - WHEN-NEW-ITEM-INSTANCE FOR POPLIST FIRES AT DIFFERENT TIME FOR KEY AND MOUSE NAVIGATION Предлагаемый workaround - When-Mouse-Click c go_item('list_item'), но, зная задачу, можно посоветовать что-то еще
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175011
Vladkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Текстовое поле содержит дату занесения, начиная с которой нужно высвечивать информацию из таблицы, всплывающий список содержит пользователей, заносивших информацию, и создается с помощью SELECT DISTINCT по дате из этой таблицы (чтобы не показывать всех пользователей, а только тех, кто действительно работали). Forms 6.0.8.25.2, клиент - сервер
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175181
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на LOV-то что мешает перейти? Вообще ничего в формировать не придется - написать один раз запрос в рекордгруппе так, чтобы он зависел от поля с датой и все - лов будет открываться в любой момент с правильным списком...
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175291
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FRM-42100Все так и есть, см. Bug2952485 , Note:1041727.6 - WHEN-NEW-ITEM-INSTANCE-TRIGGER Doesn't Fire When Clicking Arrow of Listitem и Note:1004677.6 - WHEN-NEW-ITEM-INSTANCE FOR POPLIST FIRES AT DIFFERENT TIME FOR KEY AND MOUSE NAVIGATION Предлагаемый workaround - When-Mouse-Click c go_item('list_item'), но, зная задачу, можно посоветовать что-то еще

порадовала фраза
This is not a bug, according to Development, this is how it works.
:D
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175403
Vladkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное придется переделать на LOV. Ни WHEN-MOUSE-CLICK, ни WHEN-MOUSE-DOWN не помогают - видно, как сначала всплывает один список, потом он перерисовывается. А что касается почему я сразу не использовал LOV, то я где-то прочитал раньше рекомендации, что LOV лучше использовать для больших спиков, > 20 строк, а для маленьких лучше подходят всплывающие списки. Кроме того они более похожи на всплывающие списки WINDOWS
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175423
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всплывающие списки ОЧЕНЬ удобны для расшифровки кода значения из справочника, например, в гриде. достойно альтернативы имхо нэт.
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175437
FRM-42100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант, можно добавить переформирование списка на When-Mouse-Enter
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175551
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FRM-42100Как вариант, можно добавить переформирование списка на When-Mouse-Enter

не сработает под iAS
...
Рейтинг: 0 / 0
Oracle Forms 6i Подскажите, как сделать
    #33175727
Фотография Tolmachov Dmitiry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я решал эту задачу так. Программировал LOV с желаемым запросом и возвращаемыми полями. На форме размещал текствое поле, а рядом рисовал кнопку с иконкой. В сумме получалось что-то типа Combo-box. Ну естественно, синхронизируешь элементы по размеру и оформлению, чтобы имитация была полнее. На кнопку вешал триггер When-button-pressed c кодом
Код: plaintext
1.
2.
If Show_Lov(<Lov_Name>) then
   ...
end if;
Можно управлять параметрами отображения LOV так, чтобы он возникал у границ текстового элемента. Навигацию можно с кнопки всю снять и перенаправлять фокус в текстовое поле. При таком решении никаких глюков с заполением, навигацией и порядком выполнения триггеров не возникало.
P.S. Запрос для LOV можно запрограммировать так, чтобы учитывалась маска, введенная в текстовом поле.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms 6i Подскажите, как сделать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]