我目前有一个CellTable
,我通过过滤/分页/排序进行了扩展。 我正在努力增加更多功能。CellTable中的GWT填充行
但是,有一件事情让我感到迷惑,例如,当您将页面的限制设置为例如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);
}
};
嘿,我添加了一些代码,显示我有它目前所做的那样。但这会影响分页,显示1-10也会影响我的过滤器类。我在想也许有办法解决它而不影响表格中的数据? – Sheogora 2013-04-22 15:56:17
我建议的方式不会影响分页。你所要做的就是当范围没有被满足时添加空值,你需要确保你的列知道如何处理空值(显示空单元格)。 – enrybo 2013-04-22 16:00:57
我试过你的方法,并且寻呼机仍然会说1-10即使有5行有实际的数据,简单的寻呼机连接到单元格表,所以它有多少行会计算它们? – Sheogora 2013-04-23 08:26:34