当前位置: 首页 > 知识库问答 >
问题:

RWT TableViewer有时不刷新单元格颜色

魏成济
2023-03-14

我的RWT2.2.0应用程序中有一个TableViewer组件,它表示随时间(列)和乘积(行)变化的值矩阵。tableviewer处于Virtual/Lazy模式,并且项仅在通过setInput和SetItemCount设置的ArrayList中。

有些单元格需要着色,以防它们包含的值为负值。用户具有更改视图开始日期的附加控件。在这种情况下,我用新数据重新填充表,调用refresh()并在CellLabelProvider.update()方法中填充值,如果需要,将单元格ViewerCell.SetForeground(color)或ViewerCell.SetForeground(null)的颜色设置为默认值。

有时,特别是在IE 9下,当上述时间分页发生时,单元格文本更新,但单元格颜色保持不变,直到用户滚动(可能足够远,以便惰性加载清除其内部行缓存)。

如果我在setItemCount(actual)之前强制setItemCount(0),而不是刷新,那么这个效果就会消失,但是滚动位置和使表来回跳转的选择也会消失。

这是一个RWT bug吗,我是忘记调用了什么还是我误解了ViewerCell.setForeground(null)的工作方式?

共有1个答案

督阿苏
2023-03-14

这很可能是RWT中的一个bug。但是在报告bug之前,请尝试使用最新版本的RWT(当前为2.3.1稳定和/或3.0M3开发)运行您的代码。

如果需要在“同时”中解决此问题,可以在重置项计数时保留所选内容:

ISelection selection = tableViewer.getSelection();
tableViewer.setItemCount( 0 );
tableViewer.setItemCount( actual );
tableViewer.setSelection( selection, true );
 类似资料:
  • 我在这个JTable上有问题。我这样编辑单元格 然后,我按Enter键提交更改。在这里,我希望gui用新的值刷新表。 但它们不显示,只有当我像这样更改选择时它们才显示 这是在TableModel中调用的。

  • 我正在使用这个引导表插件:http://bootstrap-table.wenzhixin.net.cn/documentation/ 这张桌子运转良好。我正在使用ajax推送一个json数组。桌子完成后,我有一个按钮。当点击此按钮时,它将调用一些函数,并需要更新一些单元格颜色。下面是一个代码示例: 使用我可以更改当前值。。。有没有办法改变背景颜色而不是值?

  • 我试图改变单元格的颜色/文本颜色/边框在谷歌表使用Node.js.我有一些数据,我想把这些数据在工作表和突出显示某些行的条件。当我使用时,放入数据部分工作。作为高亮显示的基本测试,我尝试改变单元格A1的一些属性,如下所示: 但所有发生的事情是单元格A1上的格式被重置(我手动将其设置为粗体,然后取消粗体设置)。该值未设置为。 如何设置单元格(或单元格范围)的颜色?

  • 我正在尝试用apache POI更改单元格的背景。 伙计们,我做错什么了?

  • 我使用了如下内容:我为CellStyle设置了一个全局变量,并尝试为第4列中的所有单元格填充颜色。...... 顺便说一下,我使用HSSFWorkbook和HSSFSheet进行报告。 这样,它只是填充整个薄片,结果所有的细胞得到填充的石灰颜色!