GWT-具有简单寻呼机问题的celltable
单元格表分页的行为异常。检查GWT中的示例 此处的页面大小定义为15。这就是问题所在-GWT-具有简单寻呼机问题的celltable,gwt,Gwt,单元格表分页的行为异常。检查GWT中的示例 此处的页面大小定义为15。这就是问题所在- 点击最后一页按钮。显示了241到250的结果 现在单击上一个按钮-显示226-240的结果 现在单击“下一步”按钮(这就是问题所在)。它显示了从236到250的结果。然而,它应该显示241-250 我在我的项目中遇到了同样的问题。 这有什么解决办法吗???这是一个问题。正如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);
}
}
}
问题是,CellTable类被设计成按照给定的页面大小容纳数据。这就是问题所在。我原以为这可能会在GWT2.4版本中得到修复。您可以在GWT网站上记录此问题,希望在下一版本中可以解决此问题
@进行寻呼机初始化时,必须设置:
pager.setRangeLimited(false);
此方法设置页面范围是否应限制为实际数据大小
如果为true,所有操作都将进行调整,以便页面上始终显示数据。覆盖
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;
}
};
pager=newsimplepage(TextLocation.CENTER,(simplepage.Resources)GWT.create(Resources.class),false,10,true){
@凌驾
公共布尔值hasNextPage(){
if(this.getPage()使用nextPage方法创建SimplePage的子类,如下所示
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);
正如我在回答中提到的,已经有报道说:我几乎被最后一页的问题弄疯了。默认情况下,这应该被禁用。这是一个无限下一页的问题。在