带有 SimplePager 的 GWT DataGrid,最后一页

GWT DataGrid with SimplePager, Last Page Issue

我正在使用 GWT DataGrid 和 SimplePager 来显示我的数据,

组件正确显示第一页,但最后一页始终显示 10 行 (10 = SimplePager.pagesize),即使我们要显示的行数少于 10 行也是如此。

有人知道你的问题吗?

谢谢。

我之前遇到过类似的问题。细微差别是我使用的是 Celltable 而不是 DataGrid。

问题来自 gwt 的一个已知错误,您可以在 its github page 上查看详细信息。显然它已经修复了。

解决方法是子class SimplePager 并创建您的自定义寻呼机class。

import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.view.client.Range;

public class CustomPager extends SimplePager {

public CustomPager() {
    this.setRangeLimited(true);
}

@Override
public void setPageStart(int index) {
    if (this.getDisplay() != null) {
        Range range = this.getDisplay().getVisibleRange();
        int pageSize = range.getLength();
        index = Math.max(0, index);
        if (index != range.getStart()) {
            this.getDisplay().setVisibleRange(index, pageSize);
        }
    }
}

}