我目前有一个CellTable
我用过滤器/分页/排序扩展的。我也在努力添加更多功能。
但是让我感到困扰的一件事是,当您将页面的限制设置为例如 10 时。如果一个对象没有 10 行而只有 5 行并且您在它们之间切换,那么如果定位,表格将上下跳跃在中心。
有没有一种优雅的方法,当pageSize设置为10时,如果表中的行少于10行,就会添加空行?
到目前为止我尝试过的方式会影响我的过滤/排序/分页,这是我不想要的。
编辑1:
final AsyncDataProvider<Row> provider = new AsyncDataProvider<Row>() {
@Override
protected void onRangeChanged(HasData<Row> display) {
int start = display.getVisibleRange().getStart();
int end = start + display.getVisibleRange().getLength();
end = end >= rows.getFilterList().size() ? rows.getFilterList().size() : end;
List<Row> sub = rows.getFilterList().subList(start, end);
System.out.println("Checking if extra rows needed: " +
table.getVisibleItems().size());
for(int i = table.getVisibleItems().size(); i<10; i++){
System.out.println("ADDED EMPTY ROW");
sub.add(new Row());
}
updateRowData(start, sub);
}
};