使用ListDataProvider在GWT DataGrid中手动设置行数不起作用?

使用ListDataProvider在GWT DataGrid中手动设置行数不起作用?,gwt,datagrid,gwt-rpc,Gwt,Datagrid,Gwt Rpc,我正在使用DataGrid和ListDataProvider来显示应用程序中的各种行数据。在大多数情况下,可以立即从服务器获取所有内容。 现在,似乎有必要获取分页步骤上的数据。这意味着,我的RPC调用每次返回10项以及可能结果的总数 设置行数据后,通过手动调用datagrid.setRowCount(totalCount,true),使用总计数设置附加的SimplePage。在这里重要的是, 因为setRowData还会触发一个具体项数的setRowCount调用(在我的例子中总是10) 问题是

我正在使用
DataGrid
ListDataProvider
来显示应用程序中的各种行数据。在大多数情况下,可以立即从服务器获取所有内容。 现在,似乎有必要获取分页步骤上的数据。这意味着,我的RPC调用每次返回10项以及可能结果的总数

设置行数据后,通过手动调用
datagrid.setRowCount(totalCount,true)
,使用总计数设置附加的
SimplePage
。在这里重要的是, 因为setRowData还会触发一个具体项数的setRowCount调用(在我的例子中总是10)

问题是,在手动设置行计数后,另一个参与者,
ScheduledCommand
触发一个
flushCommand
,该命令反过来触发一个
setRowCount
调用 将计数设置回10。结果:寻呼机显示10中的1-10,并且寻呼机控件被禁用

即使
ListDataProvider
每次只有10项,我如何强制执行特定的行数

您可能建议使用
AsyncDataProvider
。然而,已经有一个相当复杂的通用设计(
AbstractTablePresenter
实现所有逻辑来获取数据并将其推送到通用显示)
它由ListDataProviders支持。很难解释,但事实上,我更愿意继续使用
ListDataProvider

用于我的用例,最简单的修复方法是将我的
AbstractTablePresenter
子类化为随需应变用例,并使用一个
AsyncDataProvider
,它提供了我需要的所有功能。与我的设计有关的伤害没有预期的那么重(敲击我的肩膀;-)


试图先将
ListDataProvider
子类化,但数据、行数、,rowCountEvents和附加的寻呼机对象非常多,最终您将覆盖
ListDataProvider
的大多数方法和寻呼机实现。

如何处理下一页请求?我的演示者注册为rangeChangeEvents的处理程序,并触发加载当前页数据的RPC调用。