带有 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);
}
}
}
}
我正在使用 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);
}
}
}
}