Thanks very much, it is very usefull!

Daniele

On 6 Apr, 16:28, manstis <[email protected]> wrote:
> This is by design, SimplePager ensures you always view a whole page.
>
> There are lots of posts about this "issue" with earlier versions of
> GWT on the internet.
>
> Here's an example of a simple pager extension that does what you
> need:-
>
> /**
>  * A custom Pager that maintains a set page size and displays page
> numbers and
>  * total pages more elegantly. SimplePager will ensure <code>pageSize</
> code>
>  * rows are always rendered even if the "last" page has less than
>  * <code>pageSize</code> rows remain.
>  */
> public class GuvnorSimplePager extends SimplePager {
>
>     //Page size is normally derieved from the visibleRange
>     private int pageSize = 10;
>
>     @Override
>     public void setPageSize(int pageSize) {
>         this.pageSize = pageSize;
>         super.setPageSize( pageSize );
>     }
>
>     // We want pageSize to remain constant
>     @Override
>     public int getPageSize() {
>         return pageSize;
>     }
>
>     // Page forward by an exact size rather than the number of visible
>     // rows as is in the norm in the underlying implementation
>     @Override
>     public void nextPage() {
>         if ( getDisplay() != null ) {
>             Range range = getDisplay().getVisibleRange();
>             setPageStart( range.getStart()
>                           + getPageSize() );
>         }
>     }
>
>     // Page back by an exact size rather than the number of visible
> rows
>     // as is in the norm in the underlying implementation
>     @Override
>     public void previousPage() {
>         if ( getDisplay() != null ) {
>             Range range = getDisplay().getVisibleRange();
>             setPageStart( range.getStart()
>                           - getPageSize() );
>         }
>     }
>
>     // Override so the last page is shown with a number of rows less
>     // than the pageSize rather than always showing the pageSize
> number
>     // of rows and possibly repeating rows on the last and penultimate
>     // page
>     @Override
>     public void setPageStart(int index) {
>         if ( getDisplay() != null ) {
>             Range range = getDisplay().getVisibleRange();
>             int displayPageSize = getPageSize();
>             if ( isRangeLimited()
>                  && getDisplay().isRowCountExact() ) {
>                 displayPageSize = Math.min( getPageSize(),
>                                             getDisplay().getRowCount()
>                                                     - index );
>             }
>             index = Math.max( 0,
>                               index );
>             if ( index != range.getStart() ) {
>                 getDisplay().setVisibleRange( index,
>                                               displayPageSize );
>             }
>         }
>     }
>
>     // Override to display "0 of 0" when there are no records
> (otherwise
>     // you get "1-1 of 0") and "1 of 1" when there is only one record
>     // (otherwise you get "1-1 of 1"). Not internationalised (but
>     // neither is SimplePager)
>     protected String createText() {
>         NumberFormat formatter = NumberFormat.getFormat( "#,###" );
>         HasRows display = getDisplay();
>         Range range = display.getVisibleRange();
>         int pageStart = range.getStart() + 1;
>         int pageSize = range.getLength();
>         int dataSize = display.getRowCount();
>         int endIndex = Math.min( dataSize,
>                                  pageStart
>                                          + pageSize
>                                          - 1 );
>         endIndex = Math.max( pageStart,
>                              endIndex );
>         boolean exact = display.isRowCountExact();
>         if ( dataSize == 0 ) {
>             return "0 of 0";
>         } else if ( pageStart == endIndex ) {
>             return formatter.format( pageStart )
>                    + " of "
>                    + formatter.format( dataSize );
>         }
>         return formatter.format( pageStart )
>                + "-"
>                + formatter.format( endIndex )
>                + (exact ? " of " : " of over ")
>                + formatter.format( dataSize );
>     }
>
> }
>
> Cheers,
>
> Mike
>
> On Apr 6, 8:31 am, bond <[email protected]> wrote:
>
> > Hello guys,
> > I'm using CellTable on my project.
> > If the page size is 10 and I've 15 rows, Cell table display on the
> > first page results from 1-10, when I turn page it displays result from
> > 5-15.
> > Is possibile change this behaviuor displaying on the first page
> > results from 1-10 and on the second page results from 10-15?
>
> > Thanks
>
> > Cheers
>
> > Daniele
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to