2013-12-22 187 views
0

以下代碼顯示如何使用列創建TreeViewer如何實現TreeViewer,使根元素具有多個單元,但子元素只有一個單元?

TreeViewer treeViewer = new TreeViewer(shell, SWT.BORDER); 
Tree tree = treeViewer.getTree(); 
tree.setHeaderVisible(true); 
tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); 

TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); 
TreeColumn trclmnNewColumn = treeViewerColumn.getColumn(); 
trclmnNewColumn.setWidth(100); 
trclmnNewColumn.setText("New Column"); 

TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE); 
TreeColumn trclmnNewColumn_1 = treeViewerColumn_1.getColumn(); 
trclmnNewColumn_1.setWidth(100); 
trclmnNewColumn_1.setText("New Column"); 

默認情況下,如果展開根元素行,子元素行出現,就像根元素行,他們也被列分爲細胞。

我想實現一個TreeViewer,這樣子元素不同於根元素,它由一個跨越TreeViewer的寬度的單元組成。

這怎麼辦?

回答

1

這對於正常的TreeViewer列支持是不可能的。

你可以用OwnerDrawLabelProvider來做,你必須畫出行。

Eclipse Nebula項目有一些額外的網格和樹控件可能做你想做的。

相關問題