Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Вызов LOV после LOV / 11 сообщений из 11, страница 1 из 1
16.11.2009, 14:28
    #36312611
MikeS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
Доброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.
...
Рейтинг: 0 / 0
16.11.2009, 14:52
    #36312686
shapm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
Для того элмента, который заполняется ЛОВ-ом
написать тригер
When-Validate-Item
в котором поправить Query для Record Group
для 2-го ЛОВа
...
Рейтинг: 0 / 0
16.11.2009, 15:17
    #36312760
MikeS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
shapm,

Извините за неточность.

Править Query для Record Group не надо, т.к. там есть строчка

and s.id_street=rpad(:CLIENTS.ID_STREET,11)

ссылающаяся на этот элемент. (:CLIENTS.ID_STREET).

В When-Validate-Item (:CLIENTS.ID_STREET) у меня написано

rg_id := Find_Group('RG_POSTINDEX_BY_STREET');
IF NOT Id_Null(rg_id) THEN
errcode := Populate_Group(rg_id);
lv_id := Find_LOV('LOV_POSTINDEX_BY_STREET');
IF NOT Id_Null(lv_id) THEN
status := Show_LOV(lv_id);
END IF;
END IF;

Беда в том, что When-Validate-Item не запускается после вызова первого LOV
...
Рейтинг: 0 / 0
16.11.2009, 15:28
    #36312784
John.D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
Насколько я помню, ЛОВы нельзя вызвать из валидейт триггеров.
После вызова первого ЛОВ укажите Validate(Item_Scope).
В When-Validate-Item создайте короткий таймер, после которого показывайте второй ЛОВ.
...
Рейтинг: 0 / 0
16.11.2009, 15:32
    #36312796
MikeS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
John.D,

А если LOV вызывается по F9 ?
...
Рейтинг: 0 / 0
16.11.2009, 15:40
    #36312816
John.D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
KEY-LISTVAL

Вызывать из программ, ес-но, DO_KEY('List_values');
...
Рейтинг: 0 / 0
17.11.2009, 05:25
    #36313833
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
А если вызов второго LOV сделать в другом триггере, например в post-item?
...
Рейтинг: 0 / 0
17.11.2009, 11:45
    #36314363
shapm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
Попробовал, согласовал навигацию между полями, для которых вызываются ЛОВы,
потом либо post_text_item для первого поля либо pre_text_item для второго вызываю
2-ой ЛОВ, все по TAB-у проходит как надо, один недостаток,
если для первого поля ЛОВ не вызываешь, то для второго он все равно выскакивает...
...
Рейтинг: 0 / 0
17.11.2009, 17:32
    #36315479
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
Можно в пакетной или глобальной переменной сохранить результат выбора первого LOV (не выбора)

IF NOT Id_Null(lv_id) THEN
бла-бла-бла
END IF;
И это анализировать во втором триггере
...
Рейтинг: 0 / 0
19.11.2009, 11:10
    #36319101
sequence
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
MikeSДоброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.

Возможно возвращать несколько значений в несколько полей из LOV'а.
...
Рейтинг: 0 / 0
26.11.2009, 08:13
    #36332574
efendi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов LOV после LOV
MikeSДоброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.

Для того, чтобы вызвать второй( третий, четвертый и т.д) не обязательно переносить фокус в элемент, к которому он привязан.
Повесить на первый элемент триггер KEY-LISTVAL с кодом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare
	q boolean;
begin
	q := show_lov('first_lov');
	if q then
          q := show_lov('second_lov');
          if q then
            ......
          end if;
	end if;
end;
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Вызов LOV после LOV / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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