我已经成功地使用TableViewer将对象数组映射到表。我先使用ArrayContentProvider然后使用TableViewer.setInput映射数组。

我现在需要做的是更改表中几行的背景颜色,以便在视觉上突出显示它们。每行对应于数组中的一个对象。但是我无法弄清楚在给定映射类型的对象的情况下如何获取对行的引用(即,其TableItem)。我可以使用TableItem.getData()获取给定对象的行,但是我真正想要做的就是获取给定数据的TableItem

最佳答案

您可以只使用反射调用受保护的方法TableViewer.doFindItem

或更佳的做法是,使标签提供者实现ITableColorProvider,并且TableViewer将自动使用正确的颜色。

10-08 09:10