|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
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 Возникает вопрос как это сделать, исходя из Вашего примера? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:10 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
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) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:46 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:53 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
Стоп. Дискуссия насчет htp.p меня слишком увлекла В данном случае пункт 7 отменяется вообще Просто возврат созданной строки Код: plsql 1. 2. 3.
Насчет 32000 ... а че жалеть то - лучше с запасом ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:58 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
ZhVСтоп. Дискуссия насчет htp.p меня слишком увлекла В данном случае пункт 7 отменяется вообще Просто возврат созданной строки Код: plsql 1. 2. 3.
Насчет 32000 ... а че жалеть то - лучше с запасом А куда он ее выведет, тогда в ITEMS и все опять к одному... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:04 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
32к - это достаточно много , мне до сих пор хватало Картинки нипричем - они в любом случае задаются ссылками 'img src=' Если мало - ну тогда попробуйте CLOB Здесь приведены 2 принципиально разных способа формирования региона с помощью "прямой/ручной" html-разметки 1) обьявить регион динамическим и заполнить его анонимной pl/sql ПРОЦЕДУРОЙ , которая с помощью htp.p разметит регион но делается это только 1 раз при загрузке или полном обновлении страницы 2) создать DA , которая по заданному событию с помощью анонимной pl-sql ФУНКЦИИ выгрузит в указанный вами регион весь требуемый контент сколько раз произойдет событие (клики на гриде) столько раз и будет перестроен регион ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:09 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
Javl А куда он ее выведет, тогда в ITEMS и все опять к одному... Еще раз посмотрите на картинку 11:11 там внизу - "Affected Elements" Это целиком region c заданным именем ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:13 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
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% пригодится! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:18 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
А вот, еще важно сообщить "необстрелянному" В той же картинке видна опция "Escape special chars" При создании DA она всегда выставляется по умолчанию в "Yes" Надо выключить Иначе APEX проигнорит ВСЮ вашу html разметку и выдаст просто неформатированный текст ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 15:25 |
|
Продолжение вопросов как сделать в Апексе!
|
|||
---|---|---|---|
#18+
ZhVА вот, еще важно сообщить "необстрелянному" В той же картинке видна опция "Escape special chars" При создании DA она всегда выставляется по умолчанию в "Yes" Надо выключить Иначе APEX проигнорит ВСЮ вашу html разметку и выдаст просто неформатированный текст Спасибо огромное!!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 16:05 |
|
|
start [/forum/topic.php?fid=50&msg=39857241&tid=1873992]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 291ms |
total: | 553ms |
0 / 0 |