2014-05-15 79 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

我不认为它与此问题有某种关系。我建议你提出新的问题,并提供一些代码示例你做了什么:你如何创建你的视图和模型,你如何改变它,以及你期望发生什么。 –