GWT - 具有简单寻呼机问题的小区表格

rav*_*avi 5 gwt

细胞表分页表现得很奇怪.查看GWT中的示例 http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable

这里的页面大小定义为15.这是问题 -

  1. 点击最后一页按钮.显示了241至250的结果.
  2. 现在点击上一个按钮 - 显示226-240的结果.
  3. 现在点击下一步按钮(这就是问题所在).它显示了236到250的结果.而它应该显示241-250.

我在我的项目中遇到了同样的问题.有没有解决这个问题?

Chr*_*ell 12

这是一个已知的,已报告的错误.正如错误报告中提到的,有一个解决方法:

作为解决方法,可以将SimplePager子类化为覆盖方法setPageStart中定义的此行为:

@Override
public void setPageStart(int index) {
    if (this.getDisplay() != null) {
        Range range = this.getDisplay().getVisibleRange();
        int pageSize = range.getLength();
//      if (isRangeLimited && display.isRowCountExact()) {
//          index = Math.min(index, display.getRowCount() - pageSize);
//      }
        index = Math.max(0, index);
        if (index != range.getStart()) {
            this.getDisplay().setVisibleRange(index, pageSize);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 8

进行寻呼机初始化时,必须设置:

pager.setRangeLimited(false);
Run Code Online (Sandbox Code Playgroud)

此方法设置页面范围是否应限制为实际数据大小.

如果为true,则将调整所有操作,以便始终在页面上显示数据.