0
我有一個TableViewer,喜歡有一個列上的圖形。我怎樣才能做到這一點?JFace TableViewer:寫在畫布上
什麼不工作是:
我試過TableEditor用帆布,片段:
MyCanvas canvas = new MyCanvas (tableViewer.getTable(), SWT.NONE, (MyClass)item.getData());
與具有PaintListener
MyCanvas做繪圖工作。
它在繪製表格單元格上工作,但是當tableViewer
被過濾時,圖形列 - 只有這個 - 保持未過濾:可以說表格有100行,過濾器匹配80行,結果是80行數據,但Canvas有100行,所以還有20行,除了Canvas之外沒有別的東西。
我想問題來自桌上的TableEditor而不是TableViewer。我發現有TableViewer.setCellEditors()
,但我不知道如何使用它來寫入單元格(列)畫布。
也許還有另一種可能性,即不使用編輯器來獲取(過濾!)表格單元格的畫布。非常感謝任何解決方案提示。
你可能想看看使用'OwnerDrawLabelProvider'作爲列標籤供應商。這可讓您直接自行繪製列。 –
非常感謝 - 這就是訣竅! –