6
votes

I have page with 10 clasic reports and 10 form region (one for each report). On each form region is button with Dynamic action witch insert data in table. My problem is how to refresh just one report after I insert data so that new data is shown in report. I tried to add another true action in Dynamic action (refresh region) but it has no effect. Anyone had any idea? Apex version is 4.2

Thanks in advance.

4
Have you verified that the DA is actually being fired? A Refresh on a report region should work.Jeffrey Kemp

4 Answers

11
votes

One thing you can do is.

Assign Static ID to your every reports, Like 'myReport1', 'myReport2' or what ever you want (ignore if you already did).

on each button click when you are updating database,

add one more True Action with Execute JavaScipt Code in your existing Dynamic Action.

and put $('#myReport1').trigger('apexrefresh');

repeat this for all of your Reports with relevant Report ID.

10
votes

This is a frustrating issue and one which I have hit a few times... Things to check:

  1. Report region is region type: SQL query (PL/SQL Function body returning SQL Query - cannot be refreshed using a standard refresh dynamic action).
  2. Ensure that: id="#REGION_STATIC_ID#" is in the Report template you are trying to refresh
  3. Navigate to: Report Attributes > Layout and Pagination: ensure that "Partial page Refresh" is set to Yes.
  4. Ensure that: any page item values which your SQL report is based on are submitted, these can be entered under Region Source in the "Page Items to Submit" box.
2
votes

In the "Attributes" in "Pagination", "Partial Page Refresh" should be "Yes". otherwise classic report does not refresh.

0
votes

Check if you have selected the Template "Standard" in Section "Appearance" of your Classic Report. This solved my problem with refreshing in Apex 5.