【问题标题】:GWT/Gwtbootstrap3 - How to limit the numbers on a pagination pagesGWT/Gwtbootstrap3 - 如何限制分页页面上的数字
【发布时间】:2015-04-15 07:18:49
【问题描述】:

我有一个带有 CellTable 和 Pagination 的 GWT/Gwtbootstrap3 项目。一切都像魅力一样,但是当我获得许多页面时,我的分页小部件在页面上变得越来越大。

如何限制分页小部件上的数字,所以它只显示 5 个数字???

喜欢

>

然后

>

全部到

>

现在它显示了从 1 到 614 的所有数字 :-(

【问题讨论】:

    标签: gwt pagination gwtbootstrap3 simplepager


    【解决方案1】:

    解决了这个问题。我在网上找到了一个解决方案,稍微改了一下。

    我创建了自己的课程并从 Pagination 扩展

    package dk.common.gwt.ui.generictable;
    
    import org.gwtbootstrap3.client.ui.AnchorListItem;
    import org.gwtbootstrap3.client.ui.Pagination;
    
    import com.google.gwt.event.dom.client.ClickEvent;
    import com.google.gwt.event.dom.client.ClickHandler;
    import com.google.gwt.user.cellview.client.SimplePager;
    
    public class MyPagination extends Pagination
    {
        public void rebuild(final SimplePager pager, int setDisplayLimitNum)
        {
            clear();
    
            final int displayLimitNum = setDisplayLimitNum;
            final int lineNum = pager.getPage() / displayLimitNum;
            int nowNum = pager.getPage() / displayLimitNum;
            int startPagerNum = nowNum * displayLimitNum;
            int endPagerNum = nowNum * displayLimitNum + displayLimitNum;
    
            if (nowNum * displayLimitNum + displayLimitNum > pager.getPageCount())
            {
                endPagerNum = pager.getPageCount();
            }
    
            if (pager.getPageCount() < displayLimitNum)
            {
                endPagerNum = pager.getPageCount();
            }
    
            if (pager.getPageCount() == 0)
            {
                return;
            }
    
            for (; startPagerNum < endPagerNum; startPagerNum++)
            {
                final int display = startPagerNum + 1;
                final AnchorListItem page = new AnchorListItem(String.valueOf(display));
                page.addClickHandler(new ClickHandler()
                {
                    @Override
                    public void onClick(final ClickEvent event)
                    {
                        pager.setPage(display - 1);
                    }
                });
    
                if (startPagerNum == pager.getPage())
                {
                    page.setActive(true);
                }
    
                add(page);
            }
    
            final AnchorListItem prev = addPreviousLink();
            prev.addClickHandler(new ClickHandler()
            {
                @Override
                public void onClick(final ClickEvent event)
                {
                    pager.setPageStart((lineNum - 1) * pager.getPageSize() * displayLimitNum);
                }
            });
            prev.setEnabled(pager.hasPreviousPage());
    
            final AnchorListItem next = addNextLink();
            next.addClickHandler(new ClickHandler()
            {
                @Override
                public void onClick(final ClickEvent event)
                {
                    pager.setPageStart((lineNum + 1) * pager.getPageSize() * displayLimitNum);
                }
            });
            next.setEnabled(pager.hasNextPage());
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-26
      • 2017-10-09
      • 2020-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      相关资源
      最近更新 更多