Hi, I probably found a bug in DataTable and PagingNavigator, or more likely I don't understand it correctly... I have page with one data table and two paging navigators in form, html part looks like this:
<form wicket:id="mainForm"> <div wicket:id="pTop"/> <div wicket:id="table"/> <div wicket:id="pBottom"/> </form> Java code - constructor: public PageTest() { Form mainForm = new Form("mainForm"); add(mainForm); DataTable<UserType> table = new DataTable<UserType>("table", initColumns(), new ObjectDataProvider(PageTest.this, UserType.class), 10); table.setOutputMarkupId(true); mainForm.add(table); PagingNavigator pTop = new PagingNavigator("pTop", table); mainForm.add(pTop); PagingNavigator pBottom = new PagingNavigator("pBottom", table); mainForm.add(pBottom); } After first page load, I can see in logs: 2012-05-22 17:45:11,049 TRACE (c.e.m.w.c.d.ObjectDataProvider): begin::size() 2012-05-22 17:45:12,081 TRACE (c.e.m.w.c.d.ObjectDataProvider): end::size() 2012-05-22 17:45:12,081 TRACE (c.e.m.w.c.d.ObjectDataProvider): begin::iterator() from 0 count 10. 2012-05-22 17:45:12,546 TRACE (c.e.m.w.c.d.ObjectDataProvider): end::iterator() After click on next page, I see in logs: 2012-05-22 17:45:19,620 TRACE (c.e.m.w.c.d.ObjectDataProvider): begin::size() 2012-05-22 17:45:20,693 TRACE (c.e.m.w.c.d.ObjectDataProvider): end::size() 2012-05-22 17:45:20,696 TRACE (c.e.m.w.c.d.ObjectDataProvider): begin::size() 2012-05-22 17:45:21,722 TRACE (c.e.m.w.c.d.ObjectDataProvider): end::size() 2012-05-22 17:45:21,722 TRACE (c.e.m.w.c.d.ObjectDataProvider): begin::iterator() from 10 count 10. 2012-05-22 17:45:22,164 TRACE (c.e.m.w.c.d.ObjectDataProvider): end::iterator() size() method in data provider is called twice, that's probably a bug. I have many objects in db (up to 500k), so it's a 1s-2s difference in response time. I'm suspecting that it's caused by AbstractPageableView.getCurrentPage(), because there is a check which calls getPageCount() which calls getItemCount(). There is some caching mechanism for count, but it's not working in this case... Can somebody help please, any ideas? Vilo --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org