我目前有一张大桌子(大约 1000 行)和大约 20 列。在 20 列中,我需要每 2-3 秒刷新一次(保存对象创建后经过的时间),我尝试过每 3 秒刷新一次整个表,但由于行数太多,这是一个很大的性能惩罚整个表刷新。
有人见过在 JFace tableviewer 中只刷新一个单元格/一列的方法吗?我需要一个经过时间的列刷新,就是这样。
任何帮助是极大的赞赏。
谢谢米尔恰
我目前有一张大桌子(大约 1000 行)和大约 20 列。在 20 列中,我需要每 2-3 秒刷新一次(保存对象创建后经过的时间),我尝试过每 3 秒刷新一次整个表,但由于行数太多,这是一个很大的性能惩罚整个表刷新。
有人见过在 JFace tableviewer 中只刷新一个单元格/一列的方法吗?我需要一个经过时间的列刷新,就是这样。
任何帮助是极大的赞赏。
谢谢米尔恰
我看到 TableViewer 没想到会连续刷新一个单元格。
AbstractTableViewer
protected void doUpdateItem(Widget widget, Object element, boolean fullMap)
您需要覆盖上述方法。当前实现刷新整行(基本上LabelProvider
在每个单元格上调用)
您可以遵循相同的实现,但调用特定的更新ViewerCell
TableViewer 的 refresh() 方法应在代表表行模型的对象列表发生更改时触发。如果您只需要更新特定行或单元格中显示的文本或图像,则应使用 update() 方法。该方法有多种变体,可让您尽可能少地更新或尽可能多地更新。