Add a “Reset” button to your Interactive Reports

A client posed a reasonable question; could we just click on a button to reset an Interactive Report? Paraphrasing the conversation, the genesis of this request was that in order to reset a report we need to click Actions > Reset > Apply. That’s three clicks for what I would like to accomplish with one – said the client.

The APEX interactiveReport widget does contain a private _reset method, I was able to extend the widget with a public “reset” call this way:

if (typeof $.apex.interactiveReport === "function") {
    // only extend when the IR code is present
    $.apex.interactiveReport.prototype.reset = function() {this._reset();};

The code above is best if specified globally for the whole application (when Page Loads). The “IF” with typeof is to make sure the IR widget is present in the page, when your page does not contain an IR, the widget code will not be there and this call will fail.

Once this is in place, a button can reset the IR with a call like this:



Tested on APEX 5.1, 18.1 & 18.2 (will likely work the same on APEX 5.0)

More Details

There are several other methods to accomplish this. Depending on what you want to accomplish, you can use the RIR or CIR keywords on the Clear Cache field of the APEX URL


However, this method may require you also specify the Report in question (via the REQUEST ).

Also, you could use the API call APEX_IR.RESET_REPORT however it gets cumbersome to specify the currently selected report_id or report_alias. Plus it requires a page submission and that’s not always ideal.

The JavaScript reset() method taps into the standard reset of the IR, in my testing, it was the most flexible and fastest. Your mileage may vary.

DISCLAIMER: Because this method uses a private method call, it may change in future versions of APEX.

Hi, I'm Jorge Rimblas. Father, husband, photographer, Oraclenerd, Oracle APEX expert, Oracle ACE, coffee lover, car guy, gadget addict, etc... I'm an APEX Tech Lead DRW. I have worked with Oracle since 1995 and done eBusiness Suite implementations and customizations. Nowadays I specialize almost exclusively in Oracle APEX.

11 Comments on “Add a “Reset” button to your Interactive Reports

  1. I need to automatically reset Interactive Report before new search is executed. Is it possible in Apex 5.04 version?
    eg:- Google Search (every new keyword search will auto reset filter of previous search)

  2. Hi Jorge, I’m using apex 5.1. Im trying to use this reset report feature. The report itself runs fine, However when I click the button to reset it I get:

    Uncaught Error: cannot call methods on interactiveReport prior to initialization; attempted to call method ‘reset’

    I’ve confirmed that the piece of code to extend the _reset function is working., and my code to call reset is:


    If you have any ideas?

    Many Thanks

      • Its a DA on a button, but not set to “fire on initialization”. I dont get any errors in the chrome developer tools until I click on the button. The report is showing and has data on it etc.. Not a big issue because I now have a PL/SQL DA that resets the report when I click, but your solution looks neater… .

        • Im getting the same Javascript error. I tried both putting the initial code with typeof condition in page properties as well as separate DA on page load.

    • This is now an old question but I came across if whilst googling with the same error and looks like it has gone unanswered (though I’m sure most have sussed it). After a bit of digging I realised that what is not made clear in the original example is the ‘STATIC_ID_ir’ id is what is automaticaly assigned to the generated inner div (which contains the widget) and is basically the outer region div id with ‘_ir’ appended (for IR regions). So when I followed the example above I was incorrectly assigning ‘STATIC_ID_ir’ to the IR region in the IDE which meant the inner div was actually getting STATIC_ID_ir_ir’ but then still using STATIC_ID_ir’ to call the reset method which because there is no widget blows up. The author was obviously assiging ‘STATIC_ID’ to the IR region and not ‘STATIC_ID_ir’. So for the above example it should work by changing to: apex.jQuery(‘#BudgetLookup_ir’).interactiveReport(“reset”);

  3. Hi,
    i was enjoying this solution till i hit dead-end with ie11 so ive to drop it…thx

I love comments, write me a line