Oracle APEX report refresh the easy way

I’ve seen numerous solutions for partial page refreshes. All using javascript, timers etc.

I just want a report to refresh itself after 5 seconds.

I add this to the region-footer:

<script type="text/javascript">
<!--
setInterval( "$a_report('#REGION_ID#'.substring(1), 1, 7, 7);", 5000);
//-->
</script>

No extra javascript functions, no dificult parameters, works for multiple regions..

Essentially it will do a region refresh using the $a_report apex-javascript function only once (after 5 seconds)..

But when the region gets refreshed…. this region-footer gets executed again…. hence: a refresh every 5 seconds.

$a_report takes these parameters:

  1. the region_id that needs to be refreshed. (apex puts an ‘R’ in front of it. the substring(1) removes the ‘R’ again)
  2. the 1st record to show
  3. the last record to show
  4. the number of records to show
  5. sorting

I hope this helps.

2 thoughts on “Oracle APEX report refresh the easy way”

  1. Hi Richard,

    I would suggest to not use undocumented and unsupported APEX Javascript APIs. It’s very likely that we will change them in the future.

    If you are on APEX 4.0 you can use

    jQuery('#STATIC_ID_OF_REGION').trigger('apexrefresh');

    to refresh a region or you just use the “Refresh” dynamic action in combination with the Timer dynamic action plug-in from

    Regards
    Patrick

    Reply
  2. Great… I tried the APEX Plugins (the Timer one) but it didn’t work, so in my opinion this was the best and simplest choice!!!

    Reply

Leave a Comment