|
|
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, уважаемый ALL! Начал знакомство с APEX. Построил дерево, которое по клику на узел открывает регион с отчетом(classic report). На стартовой странице с деревом работает линк вида Код: plsql 1. page item P1_SELECTED_NODE задан в секции отчета как HIDDEN, имеет источник Database Column (ID). Так все работает. Стал копать глубже, чтобы была возможность сделать Parital Refresh региона с отчетом, в зависимости от выбранного узла в дереве. Нашел статьи: Apex tree and form one one page и также вот , вторая ближе к теме, тут именно регион создается. Попытался воссоздать данную технологию. Ничего не вышло. Линк в дереве, по утверждению авторов, должен выглядеть Код: plsql 1. сама функция декларируется так: Код: javascript 1. 2. 3. 4. 5. 6. Эту декларацию поместил в секцию HTML Header Создал итем, прицепил к нему Dynamic Action. И...не работает ( У итема свойства Value Protected NO Source NULL - ибо значение должно подставляться скриптом. И он не отрабатывает, такое впеатление. Помогите разобраться, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 01:32 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
А параметр отчёта Page Items to Submit установлен на обновляемый айтем? Вообще, используя апекс следует учиться браузерной отладке настоящим образом (с) Ульянов. Лучше в фаерфоксе или хроме. Поставить брекпоинт в функцию и посмотреть значение $v('itemname') после клика. Может быть просто опечатка в js - консоль в этом случае покажет ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 04:54 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
В принципе все верно. Теперь нужно "сообщить" что hidden элемент P1_SELECTED_NODE изменился, и на него повесить динамическую акциию для обновления таблицы Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 07:24 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
APEX Newbie, 1. Лучше всё декларативно. Т.е. дерево должно иметь событие click а items уже имеет change. А регион с запросом refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 08:00 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Petro123, scrip, Алексей, спасибо что ответили ) Собственно говоря, суть затеи сводилась к тому, чтобы проверить как работает(и работает ли) Partial Region Refresh. Так вот, с линком вида Код: plsql 1. все чудно работает, и при переходе с одного узла на другой, вызывается событие OnChange, меняется значение итема P1_SELECTED_NODE, регион с отчетом подхватывает измененное значение и выводит нужные данные. page items on submit при этом не установлен. А вот при изменении значения итема способом Код: plsql 1. требуемое событие onChange не "зажигается". Возможно, что в статье Apex tree and form one one page самый последний шаг: авторAt this point you just start to try about anything to get it to work. And voilà, the solution: on the branch back to the page, set Pn_SELECTED_NODE: мною не был сделан. Просто не нашел , где я его могу сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 23:36 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Да, и тут по ходу возникла другая бяка(бага?) В Region Header вставляю Бла-бла-бла(статический текст)&P1_SELECTED_NODE. Прям как в доке авторTo reference page or application items using substitution variables: 1. Reference the page or application item in all capital letters. 2. Precede the item name with an ampersand (&). 3. Append a period (.) to the item name. Но вижу только Бла-бла-бла(статический текст) подстановки не происходит ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 23:39 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
APEX Newbie, Ты написал что способ 1 работает. Зачем тебе способ 2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 08:28 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Petro123, После переписывания JS-кода и явного указания в Page Items To Submit , заработал и способ 2. При этом, готов поклясться, что я уже так делал. Может действительно был лишний пробел в JS, или не сохранился, выставляя Page Items To Submit Хотелось проверить, что Код: javascript 1. "зажигает" триггер change. Таки да. Интересную приписку предложил Алексей: Код: javascript 1. Правда я ей не воспользовался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:24 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
А вот то, что в Region Header не подставляется по ссылке Page Item , меня беспокоит. Можно, конечно ЯваСкриптом это вылечить, или дополнительным СЕЛЕКТ-ом, но в своем решении применить &P1_SELECTED_NODE. я противоречий с документацией не нашел. При этом там не сказано, что я должен для этого делать Computations или Branches. Должно напрямую работать. Ан нет ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:28 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Регионы динамически не обновляются, только во время перезагрузки или сабмита. Динамически (акция refresh) можно обновлять таблицы и селекты, все остальное через динамическую акцию set value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 23:31 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
APEX Newbie, Imho триггер был в старых версиях. В новых не актуален. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 07:50 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Алексей Выхрыстюк, -1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 07:51 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
APEX Newbie, Зачем тебе хидер региона? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 07:56 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Кстати, APEX 5.0 PAGE DESIGNER: MEET THE WIDGETS здесь инфа про виджеты в 5-м APEX. В APEX 5.0 для дерева новый виджет, jsTree более не поддерживается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2015, 22:55 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Максимум пока чего от него добился, от этого виджета, так это Код: javascript 1. возвращает объект. Вариант, часто используемый в статьях: Код: javascript 1. или Код: javascript 1. в версии APEX 5 не работает. Буду копать дальше ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2015, 23:57 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Ну вот, например, используя Код: javascript 1. можно установить page item MY_PAGE_ITEM в значение выбранного узла данного нового виджета. Документации по нему нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 02:31 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Вот, нашел интересную ссылку, кому интересно : APEX 5.0 CONVERTING TO THE NEW APEX TREE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 03:40 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
В принципе, конечно можно в attributes -> Tree Implementation выставить jsTree(legacy) и не ведать бед при миграции на APEX 5 ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 03:51 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Petro123Алексей Выхрыстюк, -1 Обоснуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 07:22 |
|
||
|
Работа с деревьями
|
|||
|---|---|---|---|
|
#18+
Алексей ВыхрыстюкPetro123Алексей Выхрыстюк, -1 Обоснуй ну, дак ты написал, что регион не обновляется. А как быть с п.п. события Refresh у региона? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 09:29 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=38952267&tid=1874975]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 397ms |

| 0 / 0 |
