我目前有一个大表格(aprox 1000行)和大约20列。在20列中,我需要每2-3秒刷新一次(从创建对象起持续时间),我尝试过每隔3秒刷新整个表格,但由于行数太多,这是一个很大的性能这整个表格的罚款更新。只刷新SWT/JFace TableViewer中的一列/单元格
任何人都看到一种方法来刷新JFace tableviewer中只有一个单元格/一列?我需要一个经过时间列刷新,就是这样。
任何帮助,非常感谢。
感谢 米尔恰
我目前有一个大表格(aprox 1000行)和大约20列。在20列中,我需要每2-3秒刷新一次(从创建对象起持续时间),我尝试过每隔3秒刷新整个表格,但由于行数太多,这是一个很大的性能这整个表格的罚款更新。只刷新SWT/JFace TableViewer中的一列/单元格
任何人都看到一种方法来刷新JFace tableviewer中只有一个单元格/一列?我需要一个经过时间列刷新,就是这样。
任何帮助,非常感谢。
感谢 米尔恰
我看到TableViewer并不希望刷新连续的一个单元格。
AbstractTableViewer
protected void doUpdateItem(Widget widget, Object element, boolean fullMap)
您需要重写上述方法。当前实现刷新整个行(基本上在每个单元调用LabelProvider
)
您也可以按照相同的实现,但是调用特定的ViewerCell
的TableViewer中的刷新()方法,就是要触发时,表示您的表行的模型对象列表中被改变。如果您只需要更新特定行或单元格中显示的文本或图像,则应该使用update()方法。有这种方法的变体,可以让您根据需要尽可能少地更新。
谢谢你。基于此,我设法做了类似的事情。我发现这是更新单个单元格的唯一方法,方法是扩展表格查看器,从而访问一些受保护的方法,这些方法允许我访问tableviewer中的单个单元格。 – Mircea 2013-02-23 05:46:57