|Re: Server Side Paging [message #364948 is a reply to message #364944]
||Tue, 02 September 2008 20:04
Originally posted by: jasonweathersby.alltel.net|
The Report Engine runs reports in two ways.
1 - RunAndRenderTask - One process is used to take the report design and
call data, generate report and format the output.
2 - Run and then a Render task - Two processes. The first process takes
the design and retrieves all the data and generates the report, but does
not render it. The data and report are stored in a rptdocument file.
The second process reads the required pages from the rptdocument file
and renders the required pages.
When using the example viewer the /frameset mapping using the second
method. using the /run or /preview mapping will use the first.
Your choice for server side paging is either to create the report
document (rptdocument) earlier. This can be done anytime prior to
rendering even by days. Then specify the document using the __document
url parameter with the /frameset mapping.
Change your report design to cull the data and rerun the report with a
smaller dataset. Unfortunately BIRT can not currently cull by page
number, but you may be able to find something else to cull the data with
and link it to report parameter. For example if you wanted to print a
report that listed phone book entries, you could setup two parameters
begin name and end name. You would then use these in your query to cull
the data and only display the entries you want.
Bandino Jurumai wrote:
> I spent a lot of time, but I was unable to find a way to implement
> server side paging with BIRT.
> Let me explain what exactly I mean under the server side paging.
> I am using BIRT with Hibernate (via scripted data source). I design
> reports in the report designer and then simply use the report viewer
> application to present them to the user.
> All works fine, except when report has a lot of data to show. When
> rendered on screen the report is showing the data page by page (with 20
> items/rows per page). This is fine, but what I have noticed is that
> entire result set is fetched from DB/Hibernate and not only the subset
> that is necessary for the current page.
> Is there a way to fetch only a subset of data necessary for rendering
> of the current report page (e.g. records 0-19, 20-39...)?
Powered by FUDForum
. Page generated in 0.08639 seconds