powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Использование checkbox2
25 сообщений из 39, страница 1 из 2
Использование checkbox2
    #38549959
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Передо мной стояла задача реализации группового заполнения (т.е. по кнопке происходит заполнение выбранных строк таблицы данными из итемов). Не смог понять, как привязать процесс к [row selector], поэтому создал apex_item.checkbox2(1, RowID) и работал с ним через apex_application.g_f01. Но с этим чекбоксом не работает встроенный процесс Multi Row Delete (пишет "ORA-06502: PL/SQL: ошибка преобразования символа в число ошибка числа или значения").

Отсюда возникли вопросы:
1. Есть ли возможность перенастроить Multi Row Delete на apex_item.checkbox2?
2. Как можно использовать [row selector] для группового заполнения?

P.S.: Процесс для удаления строк через apex_application.g_f01 написал, но всё же хотелось бы знать ответы на данные вопросы.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38556610
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ни у кого нет идей?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38556791
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

В этом случае встроенные процессы нужно переписать.

Или используете встроенные атрибуты без использования apex_item => сможете привязать процесс к tabular form и там написать нужную обработку (с 4.1).

Или пользуетесь только apex_item => пишите обработку на g_f коллекциях.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38556867
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

1. Каким образом можно переписать встроенные процессы?
2. Каким образом обращаться после этого к [row selector]?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38556921
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый1. Каким образом можно переписать встроенные процессы?
Удаляете стандартные, пишите свои, с insert, update, delete и т.д. запросами.
Данные берете или из g_f или или обращаетесь по алиасам столбцов, в зависимости от указанного выше способа

ВесёлыйКаким образом обращаться после этого к [row selector]?
Я так понял, вам эта информация нужна только в процессе обработки, delete из одной таблицы, insert в другую, скажем, пишите тогда соответствующий процесс с insert и delete.


А вот если вы эту информацию не планируете хранить в таблице, и она вам нужна где-то потом,
тогда в этом же процессе можно записать в её в коллекцию, примерно так:
14576693
Там про validations, с процессом тоже самое, привязываете процесс к Tabular Form, обращаетесь по алиасам, пишите в коллекцию,
потом можно будет к этой информации обращаться через вьюшку apex_collections

Или, если у вас apex_item, из g_f можно по аналогии записать в коллецию
...
Рейтинг: 0 / 0
Использование checkbox2
    #38557027
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВесёлыйНе смог понять, как привязать процесс к [row selector], поэтому создал apex_item.checkbox2(1, RowID)
Так же через g_f он и работает, если переписываете его через apex_item, тогда и обработку нужно переписывать, чтобы кучу всяких проблем в будущем исключить.
А обращаться также через g_f можно, тут когда-то давно приводил примеры 11041925

Но я не рекоммендую использовать g_f.
Если есть возможность, просто напишите обработку через процесс с привязкой к Tabular Form.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38560580
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevУдаляете стандартные, пишите свои, с insert, update, delete и т.д. запросами.
Данные берете или из g_f или или обращаетесь по алиасам столбцов, в зависимости от указанного выше способа

А, т.е. под переписыванием имелась в виду замена стандартных своими, а не их редактирование? :)
...
Рейтинг: 0 / 0
Использование checkbox2
    #38560581
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevНо я не рекоммендую использовать g_f.

Можно поподробней, почему? :)
...
Рейтинг: 0 / 0
Использование checkbox2
    #38561031
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

авторА, т.е. под переписыванием имелась в виду замена стандартных своими, а не их редактирование? :)
Если вы хотите переписать логику row selector, тогда и процесс нужно переписывать.

Вы про групповое заполнение очень абстрактно описали, не сильно понятно, что оно у вас представляет из себя в интерфейсе и в базе, возможно если вы опишите подробно исходную задачу, можно будет посоветовать, что-то поконкретнее и попроще.

Можно поподробней, почему? :)
Из-за сложности сопровождения

Во-первых, ломается после апгрейдов (индексы смещаются)
Во вторых, может позвонить заказчик, и сказать: нужно добавить такой-то столбец, или поменять порядок столбцов, но высока вероятность, что разработчик, который этим займется, сломает что-нибудь, причем в самом неоржиданном месте может быть обращение к g_f, уже не говоря, о количестве индексов, которые придётся поменять, забудешь в одном месте индекс поправить - появятся новые баги и т.д.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38562775
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevВесёлый,
Вы про групповое заполнение очень абстрактно описали, не сильно понятно, что оно у вас представляет из себя в интерфейсе и в базе, возможно если вы опишите подробно исходную задачу, можно будет посоветовать, что-то поконкретнее и попроще.

На странице есть несколько итемов. В них вбиваются некоторые данные (строки, даты). Нужно, чтобы по кнопке эти данные заполняли соответствующие поля в отменных чекбоксами строках таблицы.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38562784
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

т.е нужно, чтобы checkbox для разных request работал и для заполнения, и для удаления, я так понял.

А в базе что происходит, эта операция только на форме, или заполнение идет сразу в таблицу под tabular form?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38564131
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сразу в таблицу. А для чего может понадобиться делать только на форме?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38564229
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВесёлыйСразу в таблицу. А для чего может понадобиться делать только на форме?
Для заполнения :)

Тогда проще, apex_item не нужен, коллекции тоже.
Привязываете процесс к tabular form, там обращаетесь к стандартному checkbox через алиас столбца,
в зависимости от request (нажатой кнопки) написать или insert (заполнение), или delete (удаление).
Стандартный multi row delete соответственно отключить.
...
Рейтинг: 0 / 0
Использование checkbox2
    #38564270
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, а, в этом плане... Нет, возможность заполнения по одной строке тоже присутствует.
А как обращаться через алиас столбца? :-[
...
Рейтинг: 0 / 0
Использование checkbox2
    #38564280
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevСтандартный multi row delete соответственно отключить.

или его даже его не обязательно отключать, если у вас стандартный checkbox, достаточно, чтобы он выполнялся на свою кнопку (удалить).
SvDevПривязываете процесс к tabular form, там обращаетесь к стандартному checkbox через алиас столбца,
А этот привязать к своей кнопке (заполнить)
...
Рейтинг: 0 / 0
Использование checkbox2
    #38564292
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВесёлыйSvDev, а, в этом плане... Нет, возможность заполнения по одной строке тоже присутствует.
А как обращаться через алиас столбца? :-[
При создании процесса, там есть возможность привязать его к tabular form (с 4.1)

В частности для row selector см

APEX$ROW_SELECTOR, APEX$ROW_STATUS
...
Рейтинг: 0 / 0
Использование checkbox2
    #38565604
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, спасибо :)
Хотя не до конца с синтаксисом разобрался... Разные варианты перебирал, но нужного не нашёл - то все поля в таблице обновляет, то вообще игнорирует...
...
Рейтинг: 0 / 0
Использование checkbox2
    #38565829
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Для For Created and Modified Rows выделение row selector не должно считаться изменением строки.

Поэтому All Submitted Rows Execution Scope выбираете, дальше для каждой строки смотреть :APEX$ROW_SELECTOR, null или не null
...
Рейтинг: 0 / 0
Использование checkbox2
    #38566960
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

А как именно просматривать строки в такой ситуации?
Ну, т.е. для apex_item я использовал

Код: plsql
1.
for i in 1..apex_application.g_f01.count



А тут идей и знаний нет...
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567214
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Он сам их все пройдет, сколько отправлено строк, столько и вызовется раз процесс...
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567243
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

А как привязать update к текущей строке?

Код: plsql
1.
2.
3.
4.
5.
Begin
   if :APEX$ROW_SELECTOR is null then
      update www set CoalMark = :P170_X;
   end if;
End;



Этот код ведь просто обновит поле CoalMark в каждой строке столько раз, сколько чекбоксов отмечено, верно?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567268
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

Код: plsql
1.
2.
3.
   if :APEX$ROW_SELECTOR is not null then
      update www set CoalMark = :P170_X and id = :column_name ;
   end if;
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567279
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,

т.е. в where дописать, не с компьютера пишу
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567305
Весёлый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

id - это RowID? И что такое column_name?
...
Рейтинг: 0 / 0
Использование checkbox2
    #38567359
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весёлый,

id - столбец, по которому вы идентифицируете строку таблицы, primary key или rowid не важно
column_name - алиас столбца таблицы в tabular form, который сабмитится (т.е. тип должен быть hidden / text edit / и т.д. ), и который хранит соотв. значение
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Использование checkbox2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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