单元格表中的GWT填充行

单元格表中的GWT填充行,gwt,celltable,Gwt,Celltable,我目前有一个CellTable,我用一个过滤器/分页/排序扩展了它。 我也在努力增加更多的功能 但是,有一件事让我很烦,那就是当你把一个页面的限制设置为例如10。 如果一个对象没有10行,只有5行,而您在它们之间切换,那么如果表格位于中间,它将上下跳跃 是否有一种优雅的方式,当pageSize设置为10时,如果表中的行少于10行,那么将添加空行 到目前为止,我尝试的方法影响了我的筛选/排序/分页,这是我不想要的 编辑1: final AsyncDataProvider provider=new

我目前有一个
CellTable
,我用一个过滤器/分页/排序扩展了它。 我也在努力增加更多的功能

但是,有一件事让我很烦,那就是当你把一个页面的限制设置为例如10。 如果一个对象没有10行,只有5行,而您在它们之间切换,那么如果表格位于中间,它将上下跳跃

是否有一种优雅的方式,当pageSize设置为10时,如果表中的行少于10行,那么将添加空行

到目前为止,我尝试的方法影响了我的筛选/排序/分页,这是我不想要的

编辑1:

final AsyncDataProvider provider=new AsyncDataProvider(){
@凌驾
受保护的无效onRangeChanged(HasData显示){
int start=display.getVisibleRange().getStart();
int end=start+display.getVisibleRange().getLength();
end=end>=rows.getFilterList().size()?rows.getFilterList().size():结束;
List sub=rows.getFilterList().subList(开始、结束);
System.out.println(“检查是否需要额外的行:”+
表.getVisibleItems().size());

对于(int i=table.getVisibleItems().size();i我也遇到了同样的问题。我通过添加
null
行解决了这个问题。基本上,您需要覆盖
onRangeChange(HasData display)
数据提供程序中
null
添加到表示所需范围的列表中。添加足够的
null
以填充所需范围

@覆盖
受保护的无效onRangeChanged(HasData显示){
范围=display.getVisibleRange();
List ListoObjects=getRange(范围);

for(int i=listOfObject.size();I他们添加了一些代码,显示了我当前的操作方式。但是这会影响分页,显示1-10也会影响我的筛选器类。我在想,也许有一些方法可以绕过它而不影响表中的数据?我建议的方法不会影响分页。您所做的只是在范围不在时添加null“已完成。您需要确保您的列知道如何处理null(显示空单元格)。我尝试了你的方法,但寻呼机仍然会显示1-10,即使有5行实际数据。简单寻呼机连接到单元格表,所以它会计算有多少行?对不起,你是对的。我忘记了我扩展了
asyndaprovider
以及
simplepage
,以使其工作。我添加了pa回答中有一部分。谢谢!这对我帮助很大。遗憾的是GWT非常有限,任何额外的小更改都需要自定义类:)