powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Восстановление подсветки строки после pagination в Interactive Report
3 сообщений из 3, страница 1 из 1
Восстановление подсветки строки после pagination в Interactive Report
    #36385446
CherkasSM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполняю восстановление подсветки отмеченной строки интерактивного отчета после событий:
1) переход по страницам отчета (pagination),
2) возврат из стандартной формы просмотра данных по строке.

Для этого:

1) внес изменения в CSS шаблона используемой схемы (см. /images/hemes/heme_20/ theme_3_1.css ):
Код: plaintext
#table.apexir_WORKSHEET_DATA td{background:none;border-top:1px #fff solid;border-bottom:1px #ccc solid;font-size:8pt;padding:3px 9px;empty-cells:show;background-color:#f2f2f5 !important}\ntable.apexir_WORKSHEET_DATA td{background:none;border-top:1px #fff solid;border-bottom:1px #ccc solid;font-size:8pt;padding:3px 9px;empty-cells:show;background-color:#f2f2f5}  # Changed by Sergey ( 24 . 12 . 2008 )

2) переопределил javascript-функции IR gReport.pull() и gReport.navigate.paginate()
код из js-файла, загружаемого в заголовке страницы:
Код: plaintext
// Получение указателя на отметку текущей строки интерактивного отчета\nfunction GetCurrCheckedElement(){\n//  alert(\'1\');\n  //var tables = $x_ByClass("apexir_WORKSHEET_DATA", document.getElementById("apexir_DATA_PANEL"), "table");\n  var tables = $x_ByClass("apexir_WORKSHEET_DATA", null, "table");\n  var table = tables[ 0 ];\n  //var elems = table.getElementsByTagName("input");\n  var elems = document.getElementsByName("f01");\n//  alert(\'2\');\n  for(var i= 0 ; i<elems.length; i++) {\n    if (elems[i].checked) {\n  \t  return elems[i];\n  \t}\n  }\n  return null;\n}\n\n// Подсветка строки таблицы\nfunction RowHighlight(pThis){\n  var color = "#f2f2f5";\n  var HighLight = "menu";\n  var current_tr = $x_UpTill(pThis, \'TR\');\n  var table = $x_UpTill(pThis, \'TABLE\');\n  for (var j =  0 , l = table.rows.length; j < l; j+= 1 ) {\n    var row = table.rows[j];\n    for (var i =  0 , len = row.cells.length; i < len; i+= 1 ) {\n    \trow.cells[i].style.backgroundColor = (row == current_tr) ? HighLight : color;\n    }\n  }\n}\n\n// Подсветка текущей строки таблицы\nfunction CurrRowHighlight(){\n  // Получение указателя на отметку текущей строки интерактивного отчета\n  var e = GetCurrCheckedElement();\n\n  // Подсветка строки таблицы\n  RowHighlight(e);\n}\n\n// Переопределение для интерактивного отчета функции Pull\nfunction PullOverloading() {\n  var old_pull = gReport.pull;\n  gReport.pull = function(d){\n    old_pull(d);\n\n    // Подсветка текущей строки таблицы\n    CurrRowHighlight();\n    };\n}\n\n// Переопределение для интерактивного отчета функции Paginate\nfunction PaginateOverloading() {\n  var old_paginate = gReport.navigate.paginate;\n  gReport.navigate.paginate = function(d){\n    old_paginate(d);\n\n    // Подсветка текущей строки таблицы\n    CurrRowHighlight();\n    };\n}

3) В Region Footer (т.е. после загрузки addLoadEvent(...gReport = new apex.worksheet.ws(\'\');...) добавил:
Код: plaintext
<script type="text/javascript">\n  addLoadEvent(PullOverloading);\n  addLoadEvent(PaginateOverloading);\n</script>

Подсветка отмеченной строки работает (см. картинку во вложении result.JPG) если раскомментировать строку с alert(\'1\') в ф-ции GetCurrCheckedElement() (см. выше).
Иначе подсветка не срабатывает, alert(\'2\') не отрабатывает...
По ссылкам 1 и 2 ходил.

Использую:
- Application Express 3.2.1.00.10
- http-сервер Apache
- Oracle Database 11g Enterprise Edition Release 11.1.0.6.0

Куда копать?
...
Рейтинг: 0 / 0
Восстановление подсветки строки после pagination в Interactive Report
    #36386401
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CherkasSM,

0. Вложения нет.
1. Какой браузер используете?
...
Рейтинг: 0 / 0
Восстановление подсветки строки после pagination в Interactive Report
    #36390278
CherkasSM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую web-браузер:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6.

Пробовал запускать свое приложение в Windows Internet Explorer (версия 8.0.6001.18702). Результат:
1) отметка и подсветка и работает "неадекватно" (после выбора строки с помощью колонки типа
Radiogroup) подсвечивается не текущая, но предыдущая выбранная строка;

2) ajax-перерисовка региона со связанной таблицей не отрабатывает;

3) восстановление подсветки не работает вообще (кнопка перехода по страницам отчета и кнопка
перехода на форму просмотра данных по строке интерактивного отчета не работают).

Такое поведение приложения, как будто где-то на html-странице приложения "потерялся" закрывающий тег и/или некорректный javascript-код...
Видимо придется повторить создание страницы приложения с поэтапным добавлением функционала до появления первого бага...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Восстановление подсветки строки после pagination в Interactive Report
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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