Выпадающий список на форме операции.
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Zab Участник
Вступление в Клуб: 30.08.2013
|
Ср Апр 18, 2018 08:46   |
|
Полезность: Нет оценки
|
Всем привет!
Random пишет: |
...
И пользуемся.
При запуске операции вызываем Clear, Add нужных данных с нужными фильтрами (сессиями). В переменных, с типом ссылка на DUMMY в фильтре вносим нужные сессии. Если переменная одна, то сессии в принципе не нужны, но кто сказал, что вы не захотите потом добавить ещё пару комбобоксов?
Размещаем переменные на форме, конвертируем в выпадающие списки, устанавливаем представление, колонку. В общем, как описано выше. |
Спасибо, вариант сработал!
Один момент подскажите: а как в этом случае можно установить значение комбобокса по-умолчанию? SetIndex в клиент-скрипте не работает, а вариант, описанный prankster:
Код: |
if {СОХРАНЕННОЕ_ЗНАЧЕНИЕ} = c.c_num then
{ИМЯ_ПЕРЕМЕННОЙ_НА_ФОРМЕ} := refStr;
end if;
|
требует, чтобы у добавленного значения был ID, но в случае c "фейковым" DUMMY и запросом из функций его нет...
Можно ли как то выкрутиться? |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Чт Апр 19, 2018 06:21   |
|
Полезность: 2
|
Zab пишет: | Всем привет!
Random пишет: |
...
И пользуемся.
При запуске операции вызываем Clear, Add нужных данных с нужными фильтрами (сессиями). В переменных, с типом ссылка на DUMMY в фильтре вносим нужные сессии. Если переменная одна, то сессии в принципе не нужны, но кто сказал, что вы не захотите потом добавить ещё пару комбобоксов?
Размещаем переменные на форме, конвертируем в выпадающие списки, устанавливаем представление, колонку. В общем, как описано выше. |
Спасибо, вариант сработал!
Один момент подскажите: а как в этом случае можно установить значение комбобокса по-умолчанию? SetIndex в клиент-скрипте не работает, а вариант, описанный prankster:
Код: |
if {СОХРАНЕННОЕ_ЗНАЧЕНИЕ} = c.c_num then
{ИМЯ_ПЕРЕМЕННОЙ_НА_ФОРМЕ} := refStr;
end if;
|
требует, чтобы у добавленного значения был ID, но в случае c "фейковым" DUMMY и запросом из функций его нет...
Можно ли как то выкрутиться? |
В DUMMY есть idшники. Можно взять произвольный и сопоставить с имеющимся значением в комбобоксе.
Вот же там даже функция есть:
Код: | function GetId(p_rownum number) return number is
begin
if a$id.exists(p_rownum) then
return a$id(p_rownum);
end if;
return null;
end; |
|
|
 |
Zab Участник
Вступление в Клуб: 30.08.2013
|
Пт Апр 20, 2018 09:32   |
|
Полезность: 1
|
Эмиралька пишет: |
В DUMMY есть idшники. Можно взять произвольный и сопоставить с имеющимся значением в комбобоксе.
Вот же там даже функция есть:
Код: | function GetId(p_rownum number) return number is
begin
if a$id.exists(p_rownum) then
return a$id(p_rownum);
end if;
return null;
end; |
|
Не могу сообразить, как это сделать. Вернее, как это все соединить. У нас есть:
1. Переменная типа ссылки на DUMMY (V_COMBO)
2. Комбобокс на форме, к которому привязан реальный реквизит REC_NUM из DUMMY, значение которого в итоге и попадает в переменную V_COMBO.
3. Есть представление, которое выбирает из локальной plsql таблички данные, которые не имеют отношения к REC_NUM.
Получается, что комбобокс существует в отрыве от данных, которыми реально наполнена его переменная. В нем только текст.
Все что писал выше оказалось напрасным . Попробовал проследить, что происходит со значениями в V_COMBO. Так вот, докладаю:
V_COMBO заполняется последовательно значениями REC_NUM, т.е. первый индекс комбо будет соответствовать REC_NUM=1, а в V_COMBO будет ID этой записи из DUMMY. И так по порядку.
Т.е. фактически, сопоставлять ничего не нужно, все уже есть!
Эмиралька, спасибо! |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|