问题描述
我遇到一个问题,我们的单元格表仅显示15行。我有类似以下内容:
//assume these are initialised correctly in the constructor
private final CellTable<DataModel> dataTable;
private DataModel dataModel;
private void initialize(){
dataTable.setRowData(0,data.getDataList());
dataTable.setRowCount(data.getDataList().size());
}
现在getDataList()
返回一个List<Data>
对象,其大小为18,但由于某种原因,它仅显示15。
有什么我想念的吗?单元格表是否有一些“ Gotcha”来限制它将显示的行数?
附带一提,对列表进行排序时,我可以看到所有数据对象,但一次只能看到15个。
解决方法
CellTable
默认情况下每页显示15个项目。
调用setVisibleRange
更改CellTable
显示的行。有关更多详细信息,请参见《单元格表开发人员指南》。
,当我不想分页时,我总是使用下面的代码传递CellTables
/CellLists
。基本上,您必须将setVisibleRange
调整为列表大小。当您更改列表大小时,此方法会自动执行此操作。
public static void setupOnePageList(final AbstractHasData<?> cellTable) {
cellTable.addRowCountChangeHandler(new RowCountChangeEvent.Handler() {
@Override
public void onRowCountChange(RowCountChangeEvent event) {
cellTable.setVisibleRange(new Range(0,event.getNewRowCount()));
}
});
}
,您还可以使用页面大小作为参数实例化CellTable。
,用这个
dataTable.setPageSize(100);
或放入所需的页面大小