I have a question about the intended use of the DataTable components
provided in Wicket Extensions. The DataTable
relies upon an IDataProvider to provide the data. To do this, we implement: “Iterator
iterate(first, count)” Lacking any advice to the contrary, I assumed that this is
the method which would retrieve data from the database, but this does not seem
to be working well for me. My database query is parameterized based on page-component
model values, and these may change with each rendering. My problem is that when
one rendering presents a short data set, on the next rendering the DataTable is
not always requesting all of the rows.
The “count” seems to be affected by the number of rows
returned by the previous rendering. I suspect this is because my implementation of “int DataProvider.size()” assumes
that it will be called _after_ “Iterator
iterate(first, count)” pulls down the data – so it’s always
one rendering behind. Should I give the “int IDataProvider.size()”
method the responsibility for figuring out the query string and going to the
database? (How else would it be
able to tell the DataProvider how many rows to request?) |
- RE: [Wicket-user] ?Contract for "Iterator IDataProvi... Frank Silbermann
- Re: [Wicket-user] ?Contract for "Iterator IData... Igor Vaynberg
- RE: [Wicket-user] ?Contract for "Iterator IData... Frank Silbermann
- Re: [Wicket-user] ?Contract for "Iterator I... Eelco Hillenius
- Re: [Wicket-user] ?Contract for "Iterat... Igor Vaynberg
- Re: [Wicket-user] ?Contract for "Iterator I... Igor Vaynberg
- Re: [Wicket-user] ?Contract for "Iterator I... Igor Vaynberg
- RE: [Wicket-user] ?Contract for "Iterator IData... Frank Silbermann
- Re: [Wicket-user] ?Contract for "Iterator I... Igor Vaynberg