Oh yes you are right. I did not think of that the currentPage does not get
listed anymore. Maybe change the IPageable.setCurrentPage() to
setWantedPage(). IMO this reflects more what it realy does than.
I think there should be someway the user can influence how the bounding is
done. Maybe a protected method on DataView.
Before I was trying to push the work over to the navigator. In terms of
getPageCount() the navigator is as acurate as the DataView itself. So it
could do the bounding just before setting the currentpage and if it sets
it higher it should take care to show the label somehow. Not realy nice.
IMO I think we will not get around a sometimes empty list, because the
real exact data-size can only be determined after the data is gotten from
the iterator. You generaly do not execute the size select and data select
in a serialized transaction.
And than there are some stupid guys like me who sometimes do not do size
selects at all and just show ie the first 5 pages and hope that the user
is clever enough to not press next anymore after this 5 pages if nothing
is on the page.
Christian
On Sat, 20 Aug 2005 08:47:55 +0200, Johan Compagner <[EMAIL PROTECTED]>
wrote:
hmm i don't know about this.
Because the DataView is the one that gives the total pagecount. The
navigator just uses it.
And if the navigator sets a page that is suddenly out of range then 2
things can be done:
Math.min(wantedPageCount,maxPageCount)
or if(wantedPageCount > maxPageCount) wantedPage = 0
because the view you get in the browser is very strange.
You see nothing in the list, You don't see any selection in the
navigator (because the 'currentpage' isn't listed anymore)
I prefer to go the the last page. Because it wanted to show data that
was further on.
johan
Christian Essl wrote:
I do not know about ListView, but I think DataView and PagableDataView
could be merged quite easaly.
It already has the data-set size and the rows-count per page. All we
would need is to add a currentPage property and than we just render
from the startIndex+offsetOfPage.
On bounding: I think we should strictly adhear to the navigator for the
current page property. If DataView is instructed to show ie page 7 and
there is nothing anymore on page 7 than it should just show nothing.
The navigator should deal with that, it is the one who shows the
current page-label. Especially DataView should not do any more bounding
than Math.max(0,settedPage). That is because you can realy get some
nasty bugs if a property value is set, than internally changed in the
setMethod and than not afterwards reread. Alternatively we should at
least throw an IndexOutOfBoundsEx.
I think I'll (try to) implement Igor's Grid example as a Component
after the IPageable is stable and DataView/PagabelDataView implements
it. I guess before this it is just redundant work and there is the
example which does with just one copy-paste the job very well.
Christian
On Fri, 19 Aug 2005 09:28:27 -0700, Igor Vaynberg
<[EMAIL PROTECTED]> wrote:
I really like the idea of having a listview that shows everything by
default, and when you attach a pager to it it becomes pageable. So
something
like irangepageable { getrowsperpage() setrowsperpage() getmaxrows()
}But
that's just me.
Btw whats getmaxrows() is that getrowcount()?
I don't see why the listview cannot have setrowsperpage() anyways which
defaults to showing everything until used.
-Igor
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Johan Compagner
Sent: Friday, August 19, 2005 2:29 AM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider
startIndex problems
>
>> Alternatively we should make an PageableOrderedRepeatingView.
>>
>
> I want to wait for the new navigation to be done so we
don't need to
> have the regular - pageable pairs.
>
>
I am currently inclined to keep this difference.
Because now i have
IPageable
{
getCurrentPage();
setCurrentPage(int);
getPageCount();
}
and i think i will make this one:
IRangePageable extends IPageable
{
getRowsPerPage();
getMaxRows();
}
instead of
IRangePageable extends IPageable
{
setRowsPerPage(int);
getMaxRows();
}
i think setting the number of rows a page should display is a
property of the View that displays them Not something of the
Navigation/Navigator that is attached to it..
But if others are more in for pushing the rows per page
instead of pulling then i could change my mind.
and ListView doesn't have to be a RangePageable it could also
be used to display a panel and that it is only a Pageable So
giving a listview by default the RangePageable interface is
also wrong.
ListView could be directly an IPageable and PageableListView
an IRangePageable.
looks that logical?
johan
johan
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference &
EXPO September 19-22, 2005 * San Francisco, CA * Development
Lifecycle Practices Agile & Plan-Driven Development *
Managing Projects & Teams * Testing & QA Security * Process
Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing
& QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
--
Christian Essl
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user