Hi,
I have a search form (in a panel)with various search fields(as text fields)
on it. User should be able to fill in any number of search parameters  and
the results are to be displayed in table (with pagenation + sorting
capablity on columns) in a different panel on the same page under the search
panel.

I started looking at DataTable. It seems a option that will solve my need.

Looking at the datatable example on
http://www.wicket-library.com/wicket-examples/repeater/

I observed that the following methods get called in the order 

1. size() from CustomSortableDataProvider.
2. iterator() from CustomSortableDataProvider
3. load() from CustomLoadableDetachableModel.

If I understand it correctly:-(Please  correct me if I am wrong)
 * size() requires , the number of records that provider will be working
with. So, in above case i'll have to make query thrrough service layer /DAO 
like this  Select count(*) from Employees where  firstName Like 'ABC' and
lastName Like 'XYZ'

* iterator(final int first, final int count) will call Service layer/DAO to
do the actual query like this  Select * from Employees where firstName Like
'ABC' and lastName Like 'XYZ'

* finally in model ...I will call the CustomLoadableDetachableModel and its
load() method will load the actual Employee model  for each item that will
be displayed on first page of the list being rendered in data table.


It seems that there are too many queries in case of datatable. If the result
set has thousands of records and we are displaying 100 per page then it will
do 100+ queries to render all the items.

Questions:
1. Did I sum up about DataTable correctly? If yes, Won't this be a
bottleneck considering the number of queries?
2. Is there a better way of doing this?

Thanks,
RG







-- 
View this message in context: 
http://www.nabble.com/Using-DataTable-tp17543606p17543606.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to