【问题标题】:CellTable paging with SimplePager使用 SimplePager 进行 CellTable 分页
【发布时间】:2011-08-30 09:02:57
【问题描述】:

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

嗯,我想要这样的行为:

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

但是,它不起作用:它仅在加载时调用。 你怎么看?

【问题讨论】:

    标签: gwt pagination pager gwt-2.2-celltable


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 2017-08-16
      • 2016-11-20
      • 2013-04-14
      相关资源
      最近更新 更多