Kategorien
Allgemein

Report per DA aktualisieren: Geblätterte Seite beibehalten

Die Dynamic Action (DA) vom Typ “Refresh” ist eine schöne Sache, um Items, Regionen und Reports zu aktualisieren. Allerdings bin ich dabei über ein Problem gestoßen:

Ich habe für einen Report eine DA  erstellt, die bestimmte Daten manipuliert und danach den Report aktualisiert. Das Problem war nur, dass der Report nicht die geblätterte Seite anzeigte, sondern wieder zur ersten Seite zurück sprang. Das klappte weder im Classic noch im Interactive Report.

Hier eine Demo: http://apex-experts.de/ords/f?p=130:2

Im Forum habe ich schnell mehrer Lösungen gefunden (wie gefühlt immer auch eine von Denes).  Netterweise hat Ana Milos dafür das Plug-in Refresh report and keep pagination erstellt. Ana bietet das Plug-in für APEX 4.x und APEX 5.0 an.

Aber: Auch die neue Version funktioniert leider nicht mit dem Universal Theme (UT). Der gerenderte HTML-Code für das Blättern hat sich im UT geändert und die JavaScript-Logik läuft deshalb auf Fehler. Nach ein paar kleinen Anpassungen, läuft es nun auch mit dem UT. Bei der Gelegenheit, habe ich noch einen kleinen Bug behoben. Das Blättern funktioniert jetzt auch wenn man eine der Display Positions “Top and Bottom …” verwendet und die Blättern-Schaltflächen sowohl über, als auch unter dem Report angezeigt werden.

Meine Anpassungen habe ich in der Datei refreshReport.js  vorgenommen, die hier zur Verfügung stelle.

refreshReport.js

Einfach das oben genannt Plug-in installieren und die JS-Datei gegen diese hier austauschen.

Eins noch: Nach dem Austausch funktioniert das Plug-in NUR mit dem UT und nicht mehr mit anderen Themes. Wenn ich wieder etwas mehr Zeit habe, werde ich mich darum kümmern.

Update vom 16.09.2016: Jetzt funktioniert meine überarbeitete refreshReport.js auch mit dem Interactive Report.

Von Markus Hohloch

Selbständiger Berater für Softwareentwicklung und Informationstechnik. Schwerpunkte sind die Entwicklung von Web-Applikationen mit Oracle APEX oder Java und Jasper Reports.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite ist durch reCAPTCHA und Google geschütztDatenschutz-Bestimmungen UndNutzungsbedingungen anwenden.

The reCAPTCHA verification period has expired. Please reload the page.