0

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

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

有人对你的问题有想法吗?

谢谢。

4

1 回答 1

1

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

问题来自一个已知的 gwt 错误,您可以在其 github 页面上查看详细信息。显然它还没有被修复。

解决方法是继承 SimplePager 并创建您的自定义寻呼机类。

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);
        }
    }
}

}
于 2016-03-11T20:35:44.380 回答