我已经成功地使用TableViewer
将对象数组映射到表。我先使用ArrayContentProvider
然后使用TableViewer.setInput
映射数组。
我现在需要做的是更改表中几行的背景颜色,以便在视觉上突出显示它们。每行对应于数组中的一个对象。但是我无法弄清楚在给定映射类型的对象的情况下如何获取对行的引用(即,其TableItem
)。我可以使用TableItem.getData()
获取给定对象的行,但是我真正想要做的就是获取给定数据的TableItem
。
最佳答案
您可以只使用反射调用受保护的方法TableViewer.doFindItem
。
或更佳的做法是,使标签提供者实现ITableColorProvider
,并且TableViewer
将自动使用正确的颜色。