0

我正在创建一个可以在 GWT2.1 CellTable 中工作的进度条单元格。到目前为止,我让单元格以与其他单元格渲染一致的方式渲染了一个简单的 html 进度条。收到新值后,我需要以某种方式更新进度条单元格的值。我应该在 AsyncDataProvider 上使用 updateRowData 方法吗?

此外,是否有在 CellTable/DataProvider/.. 架构中包含轮询代码的逻辑位置?也许是 PollingAsyncDataProvider 之类的。请分享你的想法!

感谢您的回复!

4

1 回答 1

0

AsyncDataProvider 不会复制您的数据,它只会引用它,因此如果您不想使用 updateRowData,可以直接修改提供程序中的值。例如,如果您已经使用一些列表初始化了 dataprovider,例如:

asyncDataProvider.updateRowData(0, listOfProgressValues);

您仍然可以使用 listOfProgressValues 直接访问提供程序中的数据,例如:

listOfProgressValues.set(2, 0.4)

但是,除非您在 CellTable 上调用 redraw,否则更改不会出现。我不知道只重绘一个单元格的方法,因为整个东西都是用 HTML 呈现的。

我认为,我会将轮询代码放在 DataProvider 之外。我将 DataProvider 的想法视为一种将数据推送到表中的机制,仅此而已。我不希望 DataProvider 负责重绘其显示或与我的程序的其余部分进行交互。

于 2010-10-07T14:32:52.530 回答