单元格表分页表现得很奇怪。从GWT查看示例 http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable
此处的页面大小定义为15.这是问题 -
我在项目中遇到同样的问题。 有没有解决这个问题?
答案 0 :(得分:12)
这是known, reported bug。如该错误报告中所述,有一种解决方法:
作为解决方法,可以将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); } } }
答案 1 :(得分:8)
进行寻呼机初始化时,必须设置:
pager.setRangeLimited(false);
此方法设置页面范围是否应限制为实际数据大小。
如果为true,则会调整所有操作,以便页面上始终显示数据。
答案 2 :(得分:1)
问题是,CellTable类旨在根据给定的页面大小容纳数据。因此问题。我期待这可能会在GWT 2.4版本中修复。您可以在GWT网站上记录此问题,并希望在下一版本中修复此问题。
@
答案 3 :(得分:1)
覆盖hasNextPage()
,如下所示。
pager = new SimplePager(TextLocation.CENTER,(SimplePager.Resources) GWT.create(Resources.class), false,10, true){
@Override
public boolean hasNextPage() {
if(this.getPage()<(this.getPageCount()-1)) {
return true;
}
return false;
}
};
答案 4 :(得分:0)
使用nextPage方法创建simplepager的子类。
public class CustomSimplePager extends SimplePager {
@Override
public void nextPage() {
// TODO Auto-generated method stub
HasRows display = getDisplay();
if (display != null) {
Range range = display.getVisibleRange();
if (hasNextPage())
setPageStart(range.getStart() + range.getLength());
}
}
}
并设置pager.setRangeLimited(false);