2011-08-30 79 views
1

参照这个bug:http://groups.google.com/group/google-web-toolkit/browse_thread/thread/45e77082b796281d/d5101729e83a74ff?lnk=gst&q=pager%20last%20page#d5101729e83a74ffCellTable寻呼与SimplePager

嗯,我想一个行为这样的:

tablePager = new SimplePager() { 
      @Override 
      public boolean hasNextPage() { 
       if(this.getPage() < this.getPageCount()) { 
        return true; 
       } 
       else { 
        return false; 
       } 
      } 
     }; 

但是,这是行不通的:这就是所谓的只有在装货。 你觉得呢?

回答

1
pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, 
       true) { 
      private int pageSize = 10; 

      @Override 
      public int getPageSize() { 
       return pageSize; 
      } 

      @Override 
      public void previousPage() { 
       if (getDisplay() != null) { 
        Range range = getDisplay().getVisibleRange(); 
        setPageStart(range.getStart() - getPageSize()); 
       } 
      } 

      @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 
      public void nextPage() { 
       if (getDisplay() != null) { 
        Range range = getDisplay().getVisibleRange(); 
        setPageStart(range.getStart() + getPageSize()); 
       } 
      } 
     }; 

     pager.setRangeLimited(true); 
     pager.setDisplay(cellTable); 
     pager.setPageSize(10);