powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / работа с элементами checkbox
11 сообщений из 11, страница 1 из 1
работа с элементами checkbox
    #36463691
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
У меня возникла такая проблемка:
создаю report с checkbox. После того как отмечены необходимые элементы в таблице необходимо по нажатию кнопки построить другой report на основе выбранных элементов первого report'а.
Во всех найденных мной примерах предлагается:

FOR I in 1..HTMLDB_APPLICATION.G_F01.COUNT LOOP
DELETE FROM emp WHERE empno = to_number(HTMLDB_APPLICATION.G_F01(i));
END LOOP;

Те, в качестве тела цикла занесение или обновление табл.
Не могу разобраться, что необходимо сделать, чтобы дальше работать с выбранными элементами? занести весь массив выбранных элементов в переменную? и как с ней потом работать?
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36463986
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klimovo,

Вы можете создать свою коллекцию, записать в неё выбранные айдишники, построить отчёт и очистить коллекцию. RTFM Oracle® Application Express Application Builder User's Guide: 15 Advanced Programming Techniques - Using Collections .
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464445
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть необходимо создать процесс, который действует после нажатия кнопки (необходимые элементы выбраны), процесс создает коллекцию projects.

У меня код такой:

BEGIN
htmldb_collection.create_or_truncate_collection
(p_collection_name => 'projects');
end;

begin

for i in 1.. HTMLDB_APPLICATION.G_F01.count loop

htmldb_collection.add_member (
p_collection_name => 'projects',
p_c001 => HTMLDB_APPLICATION.G_F01(i)
);
end loop;
end;

Далее делаем второй отчет: дабавляем необходимые колонки, условия и теперь вопрос: как сделать условие того что выборка делается тока при условии выбора тех элементов.
.....
AND PROJECTS.PRID=(SELECT c001 FROM htmldb_collections
WHERE collection_name = 'projects');
Так не работает, что неправильно?
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464508
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klimovo
Код: plaintext
1.
AND PROJECTS.PRID=(SELECT c001 FROM htmldb_collections
 WHERE collection_name = 'projects');
Так не работает, что неправильно?

Я так подозреваю, что у Вас ORA-01427: single-row subquery returns more than one row выдаётся. Потому либо добавьте ANY после AND PROJECTS.PRID=, либо = замените на IN.
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464522
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я тоже думаю, что в этом ошибка, там точно селект выдает не одно значение, но ругани нет, те сведений об ошибках не выдает. то, что вы предложили тоже не работает почему то=(
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464526
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот исправление
AND PROJECTS.PRID IN (SELECT c001 FROM htmldb_collections
WHERE collection_name = 'projects'); ошибок не выдает никаких, но и не работает!
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464591
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klimovoвот исправление
AND PROJECTS.PRID IN (SELECT c001 FROM htmldb_collections
WHERE collection_name = 'projects'); ошибок не выдает никаких, но и не работает!
Я забыл об ещё одной немаловажной детали: используйте большие буквы в названии коллекций. Т.е., 'PROJECT' вместо 'project'.
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464611
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к сожалению и это не помогло(
как проверить что-то есть в коллекции? может туда не заносится ничего, не работает вся конструкция? в sql commands не проверить, а апликейшн не дает ошибок..
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464622
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klimovo,

приведите сюда полностью код процесса и создайте временно отчёт для проверки значений. В принципе, можете использовать logger для фиксации, что в коллекции хоть что-то есть, но Вам придётся зарегистрироваться, скачать, установить... Отчёт проще. Или создайте пример на apex.oracle.com. У меня всё отработало.

Процесс:
Код: plaintext
1.
2.
3.
4.
5.
6.
begin
  apex_collection.create_or_truncate_collection('TEST');

  apex_collection.add_member('TEST',  1 );
  apex_collection.add_member('TEST',  2 );
  apex_collection.add_member('TEST',  3 );  
end;

Запрос отчёта для проверки:
Код: plaintext
select c001 from apex_collections where collection_name = 'TEST'
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36464626
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BEGIN
htmldb_collection.create_or_truncate_collection
(p_collection_name => 'MY_PROJECTS');
end;

begin
htmldb_collection.create_or_truncate_collection('MY_PROJECTS');

for i in 1.. HTMLDB_APPLICATION.G_F01.count loop

htmldb_collection.add_member (
p_collection_name => 'MY_PROJECTS',
p_c001 => HTMLDB_APPLICATION.G_F01(i)
);
end loop;
end;

Код процесса вот он.
...
Рейтинг: 0 / 0
работа с элементами checkbox
    #36465542
klimovo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромной, suPPLer!!!
Вы мне очень помогли, без Вас бы мне не справиться! еще раз спасибо!
последняя загвоздка оказалась в кнопке при нажатии на которую срабатывает процесс=)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / работа с элементами checkbox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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