powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
5 сообщений из 5, страница 1 из 1
Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
    #38484593
Здравствуйте коллеги,

Есть updateable report. К нему есть запрос. Задача: в поле типа LOV загрузить большой справочник и обеспечить из него выбор, причем и при update, и при insert.

Борясь с пресловутым 32К в LOV создаю поле функцией SELECT_LIST_FROM_QUERY_XL. Получается что-то такое:

Код: sql
1.
2.
3.
4.
5.
6.
7.
select 
"ROWID",
..
APEX_ITEM.SELECT_LIST_FROM_QUERY_XL(8,FIELD_ID,
      'select NAME_, ID_ from #OWNER#.TABLE where COD_='||''''||'XXXX'||''''||' order by 1') as "FIELD",
"FIELD_ID"
from "#OWNER#"."TABLE2"



Поле "FIELD" (в котором LOV) в отчете объявлено как "Standart Report Column". На уже существующих строках все замечательно - LOV запускается, при выборе строки информация в поле "FIELD" изменяется и изменяет поле "FIELD_" (физическое поле, где лежит идентификатор от поля FIELD) тоже замечательно получает нужный ID.

Но как только я пытаюсь создать новую строку (создаю вызовом "apex.widget.tabular.addRow();"), поле "FIELD" уходит в глухой нередактируемый null и собсно всё, новое значение не добавить и алиас капут (на рисунке)

Коллеги, ответьте: т.к. я буквально несколько дней назад начал работать с SELECT_LIST_FROM_QUERY_XL в запросах, может я что-то не так делаю? Может для этого поля нужен другой Display As, или еще что-то? Или такими методами мою задачу вообще не решить?

Буду сильно благодарен за помощь и науку.
...
Рейтинг: 0 / 0
Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
    #38485573
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алекс Гришин, а зачем использовать Select List, если в нем предполагается огромный список, больше 32К?
Во-первых, пользователю будет неудобно выбирать их такого большого списка
Во-вторых, браузер будет тормозить на построении такого Select List
В-третьих, ВСЕ значения запроса всегда будут в тексте HTML страницы, что увеличит трафик.
Выход - Popup List.
...
Рейтинг: 0 / 0
Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
    #38485894
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс Гришин,

Согласен с Mr_Frost, браузер будет тормозить.

По сабжу, когда изучал эту тему, тогда еще кнопка добавить строку была не js-функцией и работала через Submit, и решением было добисать в запрос, например
Код: plsql
1.
2.
3.
4.
union all
select apex_item. ...
from dual
where :request = 'ADD'


Понятно, что с появлением js это решение несколько устарело, но с тех пор я эту тему больше не изучал
...
Рейтинг: 0 / 0
Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
    #38486577
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно еще посмотреть в сторону Super Lov , особенно
"Super LOV - Enterable Test". Хорош тем, что можно в поле, на которое "повешен" LOV, сначала ввести фрагмент текста, ограничивающий запрос.
Стандартные апексовые select list и popup не дают возможности пользователю ограничить запрос, введя непосредственно в поле Ивано... и увидеть только Ивановых. Сначала будь добр ткни мышкой, потом уже вводи. Да и в select list особо не поищешь.
Слишком много тыканий получается.
...
Рейтинг: 0 / 0
Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
    #38487983
Mr_Frost,
Про использование LOV - это ведь не от хорошей жизни, заказчик в стационарных приложениях видел выпадающие списки, и в интернете хочет того же.. Придется обломить и действительно использовать Popup. За наводку на Super Lov огромное спасибо - попробую, интересно насколько будет лучше/хуже стандарного

SvDev,
вот тут Кубичек пишет (правда по поводу чекбокса в табуларах - но сдается мне ноги растут из одного места ;) :

Why don’t I just use the APEX_Item.Checkbox function in the SQL statement? ... Simple reason: The AddRows process of APEX will not work. Because APEX_Item.Checkbox is just called for existing records and not for the new record.

Видимо и с Select_List_From_Query тоже самое.

Спасибо коллеги, будем считать тема закрыта.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Редактировать поле <SELECT_LIST_FROM_QUERY_XL> в создаваемой строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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