异步 DataProvider、CellTable、Pager“最后一页按钮”
Posted
技术标签:
【中文标题】异步 DataProvider、CellTable、Pager“最后一页按钮”【英文标题】:Asynchronous DataProvider, CellTable, Pager "Last page Button" 【发布时间】:2012-04-24 14:00:45 【问题描述】:我正在使用带有 Page 和异步 DataProvider 的 CellTable。一切正常,页面的“最后一页”按钮被禁用。 这可能是因为 Asynchronous DataProvider,可以传递额外的数据,因此不知道他将拥有多少条记录以及最后一页是什么。但是我知道数据传输何时完成,所以我可以显示最后一页。
我如何告诉异步数据提供者,没有更多数据,他应该显示最后一页按钮?
BR, 斯蒂芬
【问题讨论】:
【参考方案1】:我遇到了同样的问题,使用带有 uiBinder 的 SimplePager。 SimplePager 的默认构造函数显示一个前进按钮,而不是最后一页...
然后我将 @UiField(provided=true) 用于 SimplePager,并使用以下构造函数:
pager = new SimplePager(TextLocation.LEFT, (Resources) GWT.create(SimplePager.Resources.class), false, 0, true);
哪个匹配:
public SimplePager(TextLocation location,
Resources resources, boolean showFastForwardButton,
final int fastForwardPages, boolean showLastPageButton)
【讨论】:
【参考方案2】:您是否尝试将updateRowCount(count,exact) 函数中的exact
标志设置为true?
还要确保按以下顺序调用更新函数:
setRowCount(length, true);
setRowData(0, data);
【讨论】:
我认为这是问题的正确答案。我还要补充一点,您需要提取查询的计数和有限的数据集(除非您的数据集有限)。metadata:count:120000,offset:20,data:[entry1,entry2,entry3]
以上是关于异步 DataProvider、CellTable、Pager“最后一页按钮”的主要内容,如果未能解决你的问题,请参考以下文章
在 GWT 2.2 CellTable 中设置列的宽度而不裁剪 TextInputCell?