Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Server Side Paging
Server Side Paging [message #364944] Tue, 02 September 2008 10:54 Go to next message
Bandino Jurumai is currently offline Bandino Jurumai
Messages: 1
Registered: July 2009
Junior Member
Hi,

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

Thanks
Re: Server Side Paging [message #364948 is a reply to message #364944] Tue, 02 September 2008 20:04 Go to previous messageGo to next message
Eclipse User
Originally posted by: jasonweathersby.alltel.net

Bandino,

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.

or

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.

Jason

Bandino Jurumai wrote:
> Hi,
>
> 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...)?
>
> Thanks
>
Re: Server Side Paging [message #364957 is a reply to message #364944] Tue, 02 September 2008 23:19 Go to previous messageGo to next message
Eclipse User
Originally posted by: johnw.innoventsolutions.com

You would need to modify the BIRT example viewer to use Progressive
Rendering.

http://digiassn.blogspot.com/2007/10/birt-progressive-viewin g-during-render.html

This will display pages in intervals when they are ready, and still
render the remaining data in the background.

John

Bandino Jurumai wrote:
> Hi,
>
> 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...)?
>
> Thanks
>
Re: Server Side Paging [message #364960 is a reply to message #364957] Wed, 03 September 2008 07:24 Go to previous messageGo to next message
sachet Mising name is currently offline sachet Mising name
Messages: 19
Registered: July 2009
Junior Member
Progressive viewing only helps partly, and is not the solution for all
cases. For the first page, we need to get only 20 records, but the entire
data is fetched. If there are several thousand records, then it's not of
much use.
I struggled with the same problem for quite some time, and then realized
that Birt cannot implement pagination (or cursor) because of Groupings.
The only way out is to implement your own custom pagination - use row num
wrapper queries around your original query, and hook it up with the UI.


Sachet Singh
Re: Server Side Paging [message #364963 is a reply to message #364960] Wed, 03 September 2008 10:43 Go to previous messageGo to next message
Ting is currently offline Ting
Messages: 1
Registered: July 2009
Junior Member
Hi, May i know is BIRT has any intention to build this features which can
control fetch records like hibernate do in the future?
Re: Server Side Paging [message #645236 is a reply to message #364944] Thu, 16 December 2010 08:02 Go to previous message
Sanjeev Kumar is currently offline Sanjeev Kumar
Messages: 1
Registered: December 2010
Junior Member
Hey, have you got any workaround for this?
Previous Topic:Nested table dataset cache
Next Topic:BIRT NullPointerException
Goto Forum:
  


Current Time: Tue Oct 21 05:39:24 GMT 2014

Powered by FUDForum. Page generated in 0.34511 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software