Does it also happen when you call result.setTotalCount(books.size())
before calling getCount()?

>From IDataSource:
                /**
                 * Sets the total items count. Alternatively, if the total item
count can't be determined,
                 * either {...@link #MORE_ITEMS} or {...@link #NO_MORE_ITEMS} 
constant can
be used to indicate
                 * whether there are more items left or not.
                 *
                 * If the real items count is specified, it might affect the 
result of
                 * {...@link IQuery#getCount()}, so it is preferred to call 
this method
before calling
                 * {...@link #setItems(Iterator)}.
                 *
                 * @param count
                 *            the total count of items
                 */

                public void setTotalCount(int count);

-Matej

On Mon, Oct 19, 2009 at 2:52 PM, Linda van der Pal
<lvd...@heritageagenturen.nl> wrote:
> Hello,
>
> I have a problem with the inmethod IDataSource. I've provided my own
> implementation for it, including implementing the query method. But for some
> reason, it only seems to want to return one row, while I know there should
> be two. Can anybody tell me what I might be doing wrong? It must be that
> I've made a stupid mistake somewhere, because I did get it working for two
> other kinds of data. I simply don't see what I did differently.
>
> Here's the query method. It's the initializing of the QueryParam variable
> that fails. When I add in the line that I've commented out just below it, I
> do get the two rows I'm expecting.
>
> public void query(final IQuery query, final IQueryResult result) {
>       String sortProperty = null;
>       boolean sortAsc = true;
>             // is there any sorting
>       if (query.getSortState().getColumns().size() > 0) {
>           // get the most relevant column
>           ISortStateColumn state = query.getSortState().getColumns().get(0);
>                     // get the column sort properties
>           sortProperty = convertToFieldName(state.getPropertyName());
>           sortAsc = state.getDirection() == IGridSortState.Direction.ASC;
>       }
>             List<Book> resultList;
>       try {
>           filter.setSort(sortProperty);
>           filter.setSortOrder(sortAsc);
>                      // HERE'S MY PROBLEM: query.getCount() is 1 for some
> reason
>           QueryParam qp = new QueryParam(query.getFrom(), query.getCount());
>           //QueryParam qp = new QueryParam(0, 0);
>                     List<Book> books = new
> BookRetriever().getAllBooks(filter, qp);
>           // determine the total count
>           result.setTotalCount(books.size());
>                     resultList = books;
>       } catch (Exception e) {
>           resultList = new ArrayList<Book>();
>       }
>             result.setItems(resultList.iterator());
>   }
>
> Regards,
> Linda
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

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

Reply via email to