【发布时间】:2012-04-06 18:15:47
【问题描述】:
我遇到了 SimplePager 的 lastButton 的问题。 我在celltable中有3页,页面大小=11(1条空记录+10条记录(带值)),总记录=26。
我通过扩展 SimplePager 来使用 CustomerPager。
在第一次尝试中,单元表中显示 1+10 条记录:下一页和最后一页按钮已启用(第一页和上一页按钮已禁用),这是正确的。 但是 LastPage 按钮不起作用... :( 不知道是什么问题...(事件未触发)
奇怪的行为:
@1 最后一页按钮仅在我访问最后一页时才有效(在我的情况下为 3 页)。
@2 假设我在第一页 n 我移动到第二页(单元格表中总共 3 页)。那时所有按钮都已启用,这是正确的。 在这种情况下,最后一个按钮正在工作,但行为类似于下一个按钮
我的 GWT 应用程序集成到我们的一个产品中,因此无法从客户端对其进行调试。
可能是 AbstractPager 的 setPage(int index) 方法中的索引值不正确
Last按钮的代码流程如下
//From SimplePager
lastPage.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
lastPage();
}
});
@Override
public void lastPage() {
super.lastPage();
}
// From AbstractPager
/**
* Go to the last page.
*/
protected void lastPage() {
setPage(getPageCount() - 1);
}
protected void setPage(int index) {
if (display != null && (!isRangeLimited || !display.isRowCountExact() || hasPage(index))) {
// We don't use the local version of setPageStart because it would
// constrain the index, but the user probably wants to use absolute page
// indexes.
int pageSize = getPageSize();
display.setVisibleRange(pageSize * index, pageSize);
}
}
或者可能是上面代码中的某些条件错误(来自 setPage())
实际记录 = 26 和 3 空记录(第 1 个空记录/页)
dataSize 可能有问题:|
如何根据数据大小检查页数? ?
我该如何解决这个问题?
【问题讨论】:
-
我认为问题与
setPage()中的条件有关。尝试将SOP放在if条件之前或调试代码
标签: gwt pager gwt-2.2-celltable gwt-celltable