Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Создание репорта / 25 сообщений из 44, страница 1 из 2
05.05.2014, 15:17
    #38633349
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Всем добрый день. Только начинаю учиться работать в Apex, и, поскольку английский я знаю не очень хорошо, а русскоязычной информации очень мало, часто стопорюсь на каких-то мелочах. Вот и решил просить помощи здесь.
Нужно вывести репорт, в котором есть поле is_valid, принимающее значения 1 и 0. При этом есть checkbox, со значениями "1" и "0". И при установлении соответствующих галочек должны выводиться поля с 1 или с 0.
У меня получилось это сделать через 2 репорта с запросами (один на выборку 1, другой - 0) в них, открывающихся при выполнении условия, заданного в Condition Type :)
Криво, но по другому не знаю как.
...
Рейтинг: 0 / 0
05.05.2014, 16:13
    #38633471
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Допустим, в самом отчете в source я пишу PL/SQL запрос:
...
Рейтинг: 0 / 0
05.05.2014, 16:16
    #38633473
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Допустим, в самом отчете в source я пишу PL/SQL запрос:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
Begin
IF :Checkbox1='Y' THEN
select * into ? from tvsjke.person where is_active=1 
END IF;
IF :Checkbox1='N' THEN
select * into ? from tvsjke.person where is_active=0;
END IF;
END;



Куда мне выводить эти запросы? И имеет ли смысл вообще такая конструкция, ведь запросы возвращают не одну строку ?
...
Рейтинг: 0 / 0
07.05.2014, 12:10
    #38635393
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

можно выводить в переменную varchar2 и потом возвращать её.
Что-то типо
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Declare
   temp varchar2;
Begin
   IF :Checkbox1='Y' THEN
      temp := 'select * from tvsjke.person where is_active=1';
   ELSE
      temp := 'select * from tvsjke.person where is_active=0';
   END IF;
   
   RETURN temp;
END;
...
Рейтинг: 0 / 0
07.05.2014, 13:50
    #38635533
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Спасибо, Весёлый.
...
Рейтинг: 0 / 0
07.05.2014, 14:02
    #38635554
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
и еще такой вопрос: как мне сделать выбор значения checkbox'a уникальным, то есть чтобы можно было выбрать только одно значение ? и, если можно, пару тривиальных и понятных примеров с использованием APEX_APPLICATION.g_f*
...
Рейтинг: 0 / 0
07.05.2014, 15:27
    #38635703
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

Уникальный чекбокс это радиобаттон.
...
Рейтинг: 0 / 0
07.05.2014, 15:42
    #38635728
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
с этим ясно) а как сделать, чтобы размер отчета был строго фиксирован, независимо от данных в нем?
...
Рейтинг: 0 / 0
07.05.2014, 16:54
    #38635837
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

CSS / шаблоны
...
Рейтинг: 0 / 0
08.05.2014, 10:40
    #38636327
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
Begin
IF :Checkbox1='Y' THEN
select * into ? from tvsjke.person where is_active=1 
END IF;
IF :Checkbox1='N' THEN
select * into ? from tvsjke.person where is_active=0;
END IF;
END;


select *
into ?
from tvsjke.person
where (:Checkbox1='Y' and is_active=1) or (:Checkbox1='N' and is_active=0)
...
Рейтинг: 0 / 0
08.05.2014, 11:10
    #38636393
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Какой-то мегаизврат. Я даже не понял что нужно. В сурс отчетов пишется sql-запрос, а не pl/sql код.
...
Рейтинг: 0 / 0
08.05.2014, 11:41
    #38636467
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Просто есть возможность так же написание plsql ф-и, возвращающей сам запрос.
...
Рейтинг: 0 / 0
08.05.2014, 16:07
    #38636991
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
...
Рейтинг: 0 / 0
13.05.2014, 09:08
    #38639395
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Так) С этим уже разобрался. А как сделать обновление таблицы динамическим, без нажатия на кнопку ?
...
Рейтинг: 0 / 0
13.05.2014, 09:13
    #38639398
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

Усилием мысли?
...
Рейтинг: 0 / 0
13.05.2014, 09:34
    #38639415
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Шутить изволите? Впрочем, я не против. Наверное, это не очень приятно, сидеть на форуме и целый день читать глупые посты начинающих говнокодеров.
Понятно, что это можно сделать через js. А без него ? Должно же быть какое-то тривиальное решение, типа "поставить галочку там-то"
...
Рейтинг: 0 / 0
13.05.2014, 09:58
    #38639442
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

Что есть по Вашему динамически? Вы не пишите конкретики и мы должны сами догадаться?
Все что происходит на странице это апексовый JS. Отчет сам по себе не будет обновляться. Это делается через DA без обновления страницы. Событий там много.
1) Mouse move
2) Mouse click
3) Mouse dblclick
В DA таймеров нет, но можно свой написать, будет по таймеру обновляться.
...
Рейтинг: 0 / 0
13.05.2014, 10:11
    #38639460
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
GustlyЧто есть по Вашему динамически? Вы не пишите конкретики и мы должны сами догадаться?
Может tvsjke хочет обновлять по пушу с сервера ? Такой галочки нет.
...
Рейтинг: 0 / 0
13.05.2014, 11:01
    #38639515
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Есть галочка, для обновления при пагинации. Но все равно самый оптимальный вариант кнопкой, ибо только пользователь знает когда ему надо обновить. Незачем без его хотения ему обновлять.
...
Рейтинг: 0 / 0
13.05.2014, 17:01
    #38640031
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Поразмыслил, и понял, что действительно, лучше оставить вариант с кнопкой.
И, раз я уж начал тут отписываться не по теме, то продолжу:
Начал разбираться с обработчиками событий, и что-то не работает вроде как правильный код:

Код: javascript
1.
2.
3.
4.
function soBoring() {
    alert(1);
  }
 document.getElementById('myId').addEventListener("click",soBoring,true);


...

Код: html
1.
<input id="myId" class="button1" type="button" value="test">
...
Рейтинг: 0 / 0
13.05.2014, 17:04
    #38640039
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

http://jsfiddle.net/gA3zz/
Все должно работать. Возможно где-то выше падает на ошибке, и этот код не работает. Смотрите консоль.
...
Рейтинг: 0 / 0
14.05.2014, 02:37
    #38640456
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke
Код: javascript
1.
addEventListener


В апексе уже встроен JQuery, зачем мешать подходы, пользуйтесь jquery или апексовыми селекторами, ивенты в jquery тоже удобнее а если хватает можно пользоваться ивентами из apex api
http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/javascript_api.htm#AEAPI29445
...
Рейтинг: 0 / 0
14.05.2014, 06:55
    #38640476
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjkeпару тривиальных и понятных примеров с использованием APEX_APPLICATION.g_f*

checkbox задаётся как
Код: plsql
1.
apex_item.checkbox2(49, RowID) as cb



Далее создаётся процесс
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
begin
   for i in 1..apex_application.g_f49.count
      loop
         if :P177_DT1 is not null then
            update UGDT_TABLE_TRAIN_FULL_NOTIF t set t.ACTUALTIMEDEPARTURE = to_date(:P177_DT1, 'dd.mm.yyyy hh24:mi')
            where t.RowID = apex_application.g_f49(i);			
         end if;
      end loop;
end;
...
Рейтинг: 0 / 0
14.05.2014, 10:29
    #38640629
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
Что-то не хотят у меня в Apex'e работать ни jQuery, ни apexAPI

В HTML Header'e пишу:

<script>
$(document.getElementById("ID1")).click(function() {
alert("Hello world!");
});
</script>
<p><input id="ID1" type="button" value="PRESS ME"></p>

...ничего.

Пишу:

apex.confirm('Check', 'value');

...ничего.
...
Рейтинг: 0 / 0
14.05.2014, 11:06
    #38640640
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание репорта
tvsjke,

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


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