Hi,

You are correct that the current provided implementations of the GridDataSource 
(HibernateGridDataSource and JpaGridDataSource) will query for the total number 
of rows in the database and therefor can kill performance on the client side as 
well as on the DB side. Particulary if sorting and filtering is applied.

The GridDataSource is only an interface so its up to you on how you decide to 
implement the getAvailableRows function.

I may have another solution, I've written a small component library for 
Tapestry with a 'PagedGrid' in it. This is an extension of the supplied Grid 
component with a custom pager and a custom DataSource implementation which does 
not query for the total number of rows and will perform much faster with large 
datasets.

The code can be found here:  https://github.com/intercommit/Weaves

And a demo is running here: 
http://intercommitweavesdemo.intercommit.cloudbees.net/grid/pagedgriddemo

Good luck,
 Antal

---- OriginalMessage ----
>From: "Thai Tran" <bubu...@gmail.com>
>To: "Tapestry users" <users@tapestry.apache.org>
>Sent: Wed, Nov 13, 2013, 03:54
>Subject: [SPAM] Grid Pagination and Performance
>
>Good morning everyone (it is morning here :D)
>
>According to official documentation 
>(http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html),
> 
>we only need to set the rowsPerPage to turn the pagination on without 
>caring about the actual returned list 's size. Having said that, if the 
>returned result contains millions of records, it will kill the server 
>memory, IMO
>
>According to the none-official document 
>(http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/griddatasources),
> 
>we need to extends the GridDataSource in order to return the correct 
>number of records from database to server
>
>I am just wondering, why does the misleading first way appear in the 
>official document ? Or I am missing sth?
>
>Thai Tran
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>For additional commands, e-mail: users-h...@tapestry.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to