异步 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“最后一页按钮”的主要内容,如果未能解决你的问题,请参考以下文章

CellTable 点击吞下

在 CellTable 中从输入切换到输入

在 GWT 2.2 CellTable 中设置列​​的宽度而不裁剪 TextInputCell?

GWT CellTable 选择并单击 CheckBoxCell

GWT CellTable 种群

GWT RequestFactory + CellTable