2014-05-15 112 views
0

「ITableLabelProvider」界面已經給出了兩個方法來實現出標籤提供商, 的方法之一是自定義標籤提供商

 public String getColumnText(Object element, int columnIndex); 
在該方法中

元件代表一個整行,基於在列索引上,我們將獲取數據並設置爲表格。我的要求是,我想要一個方法,使元素代表一列, 所以根據列索引我可以訪問數據。

回答

2

目前沒有標籤提供程序,它將提供代表只是一列(甚至單元格)的元素。如果你仔細想想,這實際上是非常合乎邏輯的。所以,你應該依靠列索引來獲取數據(例如,按列索引有一個switch)。

另一種可能性是做這樣的:

TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.LEFT); 
tableViewerColumn.getColumn().setText("Column"); 
tableViewerColumn.setLabelProvider(new ColumnLabelProvider() { 
    @Override 
    public String getText(Object element) { 
     return ((RowRepresentingObject) element).getColumnValue(); 
    } 
}); 
+0

出色答卷,工作就像魅力....感謝名單@Alexander加夫裏洛夫 –

+0

我加入組合框編輯這些列的支持,但變化不反映在視圖中。 我調用tableViewer.refresh(),在調試模式下顯示更改後的值。 –

+0

我不認爲它與此問題有某種關係。我建議你提出新的問題,並提供一些代碼示例你做了什麼:你如何創建你的視圖和模型,你如何改變它,以及你期望發生什麼。 –