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.
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.