powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Продолжение вопросов как сделать в Апексе!
10 сообщений из 35, страница 2 из 2
Продолжение вопросов как сделать в Апексе!
    #39857182
Javl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZhVJavlВ Вашем примере по клику открывается одна запись, у меня их может быть N количество.
Я изначально сделал с курсором, но items принимают только одно значение.

Мой пример - по моей задаче.

Ваш пример можно было бы решить похоже
Слева - клиенты со своими ФИО и ID (марка машины?)
По клику на заданной строке левого грида выбирается id клиента (причем буквально P1_SELECTED_ID=1234)
и по этому id в скрипте DA делается выборка и генерится HTML-контент
Этот контент отображается справа - все записи по ремонту

У вас другие идеи?
Ну все в ваших руках. Вам решать и делать

Но (ИМХО) освоение новых технологий способом изобретения "особого собственного пути" - очень неэффективно
У APEX-а довольно много sample. Еще можно сходить к Кубичеку - посмотреть, поучиться
Лучше взять готовые работающие примеры и попытаться адаптировать к своим задачам,
(можно просто тупо копировать страницы из сэмплов в свое приложение)
чем придумывать свои, которые могут быть заведомо неработоспособны

Так я не изобретаю, а наоборот спрашиваю т.к. уверен, что в Апексе это все предусмотрено и не нужно изобретать велосипед!

Тогда еще раз вернемся к моим проблемам:
Есть Table1 это Клиенты: ID, F, I O
Table2 ремонтные работы ID, ID_T1 (связанное поле), dat_rab, vid_rab

На странице есть регион, который уже выбрал из table1 ID в P1_ID и F,I,O
Во втором регионе я делаю выборку из table2 по значению P1_ID

Если бы я сделал репорт в любом виде select dat_rab, vid_rab from table2 where ID_T1 = :P1_ID
то все отлично, в таблицу попадают две строки:
01.09.2019 ремонт двигателя
02.09.2019 Ремонт зеркала
Но мне нужна не таблица и я выбрал PL/SQL Dynamic content
Возникает вопрос как это сделать, исходя из Вашего примера?
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857216
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Javl....
Возникает вопрос как это сделать, исходя из Вашего примера?

По отношению к моему примеру
1) убрать грид справа
2) регион хидера расширить вниз (допустим 750 пикселей)
у него есть опция , которая задст высоту
"Custom Attributes" : style="height:750px;margin:0;overflow:hidden;"
(можно назвать по другому - это уже не хидер а боди)
3) как в моем примере 11:11 создать DA и PL/SQL ACTION
на этот самый регион то ли хидера то ли боди
4) в теле функции PL/SQL ACTION открыть курсор по запросу
5) на каждую запись создавать "одноместный" html-фрагмент
со всемы нужными тэгами - болд,колор,шрифт,отступы
6) все "одноместные" фрагменты саккумулировать в одну большую v_big varchar2(32000)
не забывая добавлять '<BR>'
7) после выхода из цикла весь varchar2 выдать в html-машину
sys.htp.p(v_big)
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857222
Javl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZhVJavl....
Возникает вопрос как это сделать, исходя из Вашего примера?

По отношению к моему примеру
1) убрать грид справа
2) регион хидера расширить вниз (допустим 750 пикселей)
у него есть опция , которая задст высоту
"Custom Attributes" : style="height:750px;margin:0;overflow:hidden;"
(можно назвать по другому - это уже не хидер а боди)
3) как в моем примере 11:11 создать DA и PL/SQL ACTION
на этот самый регион то ли хидера то ли боди
4) в теле функции PL/SQL ACTION открыть курсор по запросу
5) на каждую запись создавать "одноместный" html-фрагмент
со всемы нужными тэгами - болд,колор,шрифт,отступы
6) все "одноместные" фрагменты саккумулировать в одну большую v_big varchar2(32000)
не забывая добавлять '<BR>'
7) после выхода из цикла весь varchar2 выдать в html-машину
sys.htp.p(v_big)

Спасибо!!!!!!!!!

1. varchar2(32000) не слишком много, у меня в регионах текст, фото в отдельном регионе и это отдельная песня
2. Почему вы считаете, что так лучше/быстрее, чем просто loop, как предложил blkangel
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857231
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоп. Дискуссия насчет htp.p меня слишком увлекла
В данном случае пункт 7 отменяется вообще
Просто возврат созданной строки
Код: plsql
1.
2.
3.
... 
   return v_big ; 
end ;



Насчет 32000 ... а че жалеть то - лучше с запасом
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857241
Javl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZhVСтоп. Дискуссия насчет htp.p меня слишком увлекла
В данном случае пункт 7 отменяется вообще
Просто возврат созданной строки
Код: plsql
1.
2.
3.
... 
 [color=red]  return v_big ; [/color]
end ;



Насчет 32000 ... а че жалеть то - лучше с запасом

А куда он ее выведет, тогда в ITEMS и все опять к одному...
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857245
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
32к - это достаточно много , мне до сих пор хватало
Картинки нипричем - они в любом случае задаются ссылками 'img src='
Если мало - ну тогда попробуйте CLOB


Здесь приведены 2 принципиально разных способа формирования региона
с помощью "прямой/ручной" html-разметки

1) обьявить регион динамическим и заполнить его анонимной pl/sql ПРОЦЕДУРОЙ ,
которая с помощью htp.p разметит регион
но делается это только 1 раз при загрузке или полном обновлении страницы

2) создать DA , которая по заданному событию
с помощью анонимной pl-sql ФУНКЦИИ выгрузит в указанный вами регион весь требуемый контент
сколько раз произойдет событие (клики на гриде) столько раз и будет перестроен регион
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857246
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Javl
А куда он ее выведет, тогда в ITEMS и все опять к одному...

Еще раз посмотрите на картинку 11:11
там внизу - "Affected Elements"
Это целиком region c заданным именем
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857253
Javl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZhV32к - это достаточно много , мне до сих пор хватало
Картинки нипричем - они в любом случае задаются ссылками 'img src='
Если мало - ну тогда попробуйте CLOB


Здесь приведены 2 принципиально разных способа формирования региона
с помощью "прямой/ручной" html-разметки

1) обьявить регион динамическим и заполнить его анонимной pl/sql ПРОЦЕДУРОЙ ,
которая с помощью htp.p разметит регион
но делается это только 1 раз при загрузке или полном обновлении страницы

2) создать DA , которая по заданному событию
с помощью анонимной pl-sql ФУНКЦИИ выгрузит в указанный вами регион весь требуемый контент
сколько раз произойдет событие (клики на гриде) столько раз и будет перестроен регион

Меня интересовала разница 1 и 2 метода в плане самой PL/SQL процедуры формирование htp.p и loop, аналог того, что я делал на PHP и курсор, в который загружаются данные и делается html разметка...

В любом случае спасибо Вам обоим за ликбез!!!
Тем более еще кое-что почерпнул из Вашей дискуссии.

Мне нужно получить данные при загрузке страницы один раз, но на будущее я запомню второй вариант т.к. он 100% пригодится!
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857264
ZhV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот, еще важно сообщить "необстрелянному"
В той же картинке видна опция "Escape special chars"
При создании DA она всегда выставляется по умолчанию в "Yes"
Надо выключить
Иначе APEX проигнорит ВСЮ вашу html разметку и выдаст просто неформатированный текст
...
Рейтинг: 0 / 0
Продолжение вопросов как сделать в Апексе!
    #39857305
Javl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZhVА вот, еще важно сообщить "необстрелянному"
В той же картинке видна опция "Escape special chars"
При создании DA она всегда выставляется по умолчанию в "Yes"
Надо выключить
Иначе APEX проигнорит ВСЮ вашу html разметку и выдаст просто неформатированный текст

Спасибо огромное!!!!!!!
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Продолжение вопросов как сделать в Апексе!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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