我使用GWT DataGrid和SimplePager来显示我的数据,
组件正确显示第一页,但最后一页显示总共10行(10 = SimplePager.pagesize),即使我们要显示的行数少于10行。
AnyOne对这个问题有所了解吗?
感谢名单。
答案 0 :(得分:0)
之前我遇到过类似的问题。不同之处在于我使用的是Celltable而不是DataGrid。
问题来自已知的gwt错误,您可以在its github page上看到详细信息。显然它已经修复了。
解决方法是将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);
}
}
}
}