在GWT DataGrid中手动设置rowCount与ListDataProvider不起作用?

问题描述 投票:0回答:1

我在一起使用DataGridListDataProvider显示在我的应用程序不同的行数据。在大多数情况下,这是罚款,一次取一切从服务器。现在,它似乎有必要对分页的步骤获取数据。这意味着,我的RPC调用返回每次和可能的结果总数10个项目。

总计数由具有设置行数据后手动调用SimplePager用于设置连接datagrid.setRowCount(totalCount, true)。是经过这里很重要,因为setRowData也触发与项目的具体数量(对我来说总是10)一个setRowCount电话。

的问题是,在已经设置的行人工计数,另一参与者,一个ScheduledCommand触发flushCommand这反过来触发setRowCount呼叫设定所述计数回10.后果:寻呼机显示10 1-10和寻呼机的控制被禁用。

我怎么能执行一个特定rowCount时,即使ListDataProvider只有每次10个项目?

你可能会建议使用AsyncDataProvider。然而,已经有其通过ListDataProviders支持的相当复杂的普通设计(AbstractTablePresenter<DTO, ...>实现所有逻辑来获取数据并将其推到一个通用的显示器)。很难解释,但实际上,我宁愿继续使用ListDataProvider

gwt datagrid gwt-rpc
1个回答
0
投票

对于我的用例中,最简单的解决是继承我的点播情况下AbstractTablePresenter和使用带来我需要的所有功能的AsyncDataProvider。该伤害关于我的设计比预期的(在我的肩上敲;-))少重。

试图继承ListDataProvider第一,但数据之间的关系,rowCount时,rowCountEvents和附加寻呼机对象是如此歧管,你最终会覆盖大部分ListDataProvider的方法和您的寻呼机实现。

© www.soinside.com 2019 - 2024. All rights reserved.