GWT的CellBrowser是一种很好的表示动态数据的方式。
但是,当浏览器包含的行数超过某些(看似)任意的最大值时,它会提供一个"Show More“标签,用户可以单击该标签来获取看不到的行。
如何禁用此行为,并强制它始终显示每一行?

发布于 2011-07-26 17:10:56
有几种方法可以摆脱"Show More“(你可以组合使用):
在您的TreeViewModel、NodeInfo的setDisplay或您给予DefaultNodeInfo的setDisplay中的DataProvider中,在onRangeChange中:根据您的数据大小覆盖显示的可见范围。
CellBrowser并覆盖其createPager方法以返回null。它不会更改列表的页面大小,但您也可以在那里将其设置为某个非常高的值。发布于 2012-01-04 04:45:14
下面的CellBrowser删除了“显示更多”文本,并加载了所有可用元素,而不进行分页。
public class ShowAllElementsCellBrowser extends CellBrowser {
public ShowAllElementsCellBrowser(TreeViewModel viewModel, CellBrowser.Resources resources) {
super(viewModel, null, resources);
}
@Override
protected <C> Widget createPager(HasData<C> display) {
PageSizePager pager = new PageSizePager(Integer.MAX_VALUE);
// removes the text "Show More" during loading
display.setRowCount(0);
// increase the visible range so that no one ever needs to page
display.setVisibleRange(0, Integer.MAX_VALUE);
pager.setDisplay(display);
return pager;
}
}发布于 2014-02-20 18:10:58
在将页面大小设置为CellBrowser的构建器时,我找到了一个有效且简单的解决方案。希望这能有所帮助。
CellBrowser.Builder<AClass> cellBuilder = new CellBrowser.Builder<AClass>(myModel, null); cellBuilder.pageSize(Integer.MAX_VALUE); cellBrowser = cellBuilder.build();
https://stackoverflow.com/questions/4661686
复制相似问题