@Override public void previousPage() { if ( getDisplay() != null ) { Range range = getDisplay().getVisibleRange(); setPageStart( range.getStart() - getPageSize() ); } }
@Override public void nextPage() { if ( getDisplay() != null ) { Range range = getDisplay().getVisibleRange(); setPageStart( range.getStart() + getPageSize() ); } }
/** * Let the page know that the table is loading. Call this method to clear * all data from the table and hide the current range when new data is being * loaded into the table. */ public void startLoading() { getDisplay().setRowCount( 0, true ); label.setHTML( "" ); }
@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 ); } } }
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 ); }
@Override protected void onRangeOrRowCountChanged() { HasRows display = getDisplay(); label.setText( createText() ); // Update the prev and first buttons. setPrevPageButtonsDisabled( !hasPreviousPage() ); // Update the next and last buttons. if ( isRangeLimited() || !display.isRowCountExact() ) { setNextPageButtonsDisabled( !hasNextPage() ); setFastForwardDisabled( !hasNextPages( getFastForwardPages() ) ); } }