powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Фильтры как в Interactive report
2 сообщений из 2, страница 1 из 1
Фильтры как в Interactive report
    #38185973
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понадобилось мне тут на днях сделать одну штуку... Чтобы в отчете были фильтры, как в IR - когда в заголовке отображается поле для ввода, в которое можно ввести значение и т. п. Но при этом нужно больше одного отчета на страницу, возможность делать update (как в Tabular Form) и еще не факт, что фантазия руководства на этом кончится.
Я немного поизвращался и сделал в итоге так:
1. Основа - обычный отчет (можно взять Tabular Form, но я решил начать с чего попроще).
2. У столбца в свойствах снял галочку сортировки (чтобы APEX не подставлял свою сортировку).
3. В поле "Heading" ввел код:
Код: html
1.
2.
 <input id="P2_C2" class="text_field" type="text" value="&P2_X." name="p_t02" onkeydown="javascript:onkd(event)"/><br/>
<a title="Сортировать" href="javascript:apex.widget.report.sort('13990661700407062401','fsp_sort_2')">Имя</a>


4. На странице создал Hidden Item с названием P2_X
5. В отчете в код добавил условие:
Код: plsql
1.
2.
...
where ENAME like :P2_X or :P2_X is null


6. В свойсвах страницы описал javascript функцию:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
function onkd(event){
  var str = $v('P2_C2');
  if(event.keyCode == 13){
    $s('P2_X', str);
    apex.submit('');
    };
}


В итоге получилось вот что: http://apex.oracle.com/pls/apex/f?p=9002:2 (если кому-то интересно во внутренностях покопаться, могу дать доступ, там все равно ничего критичного нет).

Теперь осталась мелочь - сделать, чтобы сортировку можно было делать по очереди по возрастанию и по убыванию. Пока есть только одна идея, как это сделать - создать еще один Hidden Item для хранения типа сортировки и в моей функции onkd его обновлять. Ну и картинку с с нужным треугольничком подгружать. Но я вот думаю - не многовато ли вспомогательных элементов на один столбец? И вообще, не слишком ли сложное у меня решение, может и проще можно?

Еще хотелось бы:
1. Избавиться от хардкода. Вот тут:
javascript:apex.widget.report.sort('13990661700407062401','fsp_sort_2')
заменить ID региона каким-нибудь вычислением.
2. Сделать обновление без Submit, одним из способов, обсуждающихся сейчас тут , но я там ничего не понимаю
...
Рейтинг: 0 / 0
Фильтры как в Interactive report
    #38186175
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rockclimber,

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


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