如何强制cellTable显示所有数据(GWT)?

时间:2014-05-11 06:57:11

标签: gwt gwtp

我在这里itemDetailTable

CellTable<List<String>> itemDetailTable = new CellTable<List<String>>();
ListDataProvider<List<String>> dataProvider = new ListDataProvider<List<String>>();
dataProvider.addDataDisplay(itemDetailTable);
final ScrollPanel itemDetailScrollPanel=new ScrollPanel();
FlowPanel itemDetailFlowPanel=new FlowPanel();
itemDetailFlowPanel.add(itemDetailTable);
itemDetailScrollPanel.add(itemDetailFlowPanel);

现在我的List<List<String>>有16行,但是,在运行后,它只显示 15行的表格。如果我想看到第16行,则需要点击表格的最后一个单元格(表格右下角的单元格)&amp;输入向下箭头键,然后它将显示记录16

如果我使用Simplepager

SimplePager itemDetailPager = new SimplePager(); itemDetailPager.setDisplay(itemDetailTable);

然后它将有2页,第1页有15条记录,第2页有1条记录。

这不行,因为我希望表格一次显示所有记录,不会隐藏任何记录。

有人说我可能会使用List<String>&amp;导致问题的原因,但我不确定这是否是主要原因。

但如果我只有14条记录,那么它显示所有14条记录没有任何问题。

SO如何解决?

1 个答案:

答案 0 :(得分:2)

尝试任何一个

在构建构建具有给定页面大小的表的CellTable时,只需传递页面大小。

int pageSize=16;
CellTable<List<String>> itemDetailTable = new CellTable<List<String>>(pageSize);

使用CellTable#setPageSize()设置每页的行数并刷新视图。

CellTable<List<String>> itemDetailTable = new CellTable<List<String>>();
itemDetailTable.setPageSize(16);

注意:使用GWT.create()构建SimplePager.Resources对象,如下所示:

SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
// pass the parameters as per your requirement
SimplePager pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);