CftClub.ru
Клуб специалистов ЦФТ-Банк

Выпадающий список на форме операции.
На страницу Пред.  1, 2
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
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.

Получается, что комбобокс существует в отрыве от данных, которыми реально наполнена его переменная. В нем только текст.


Все что писал выше оказалось напрасным Smile. Попробовал проследить, что происходит со значениями в V_COMBO. Так вот, докладаю:
V_COMBO заполняется последовательно значениями REC_NUM, т.е. первый индекс комбо будет соответствовать REC_NUM=1, а в V_COMBO будет ID этой записи из DUMMY. И так по порядку.
Т.е. фактически, сопоставлять ничего не нужно, все уже есть!

Эмиралька, спасибо!
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru