|
|
Re: dynamic dispose and create of treeviewer + columns [message #1022195 is a reply to message #1022175] |
Thu, 21 March 2013 13:12 |
Mokhtar Alshubei Messages: 121 Registered: November 2011 Location: Germany |
Senior Member |
|
|
Thank you Daniel Krügler but I did this and unfortunately I got the exception
"Column 0 has no label.." Perhaps even I dispose the columns (say 3 columns) , they are still there somewhere as my CellLabelProvider object is still aware of them. I suppose my labelprovider encounters 6 columns when i run twice...
this is how i dispose my columns and recreate them as you suggested (which stll didn't work)
//treeviewer and tree creation fragment
trViewer= new TreeViewer(composite, SWT.BORDER);
tree = trViewer.getTree();
tree.setHeaderVisible(true);
tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
true, 1, 1));
sashForm.setWeights(new int[] {34, 117, 226, 83});
//dispose and create columns
private void createColumns(ArrayList<Car> input) {
//dispose all columns
TreeColumn[] clmns = trViewer.getTree().getColumns();
for (TreeColumn clm : clmns) {
clm.dispose();
}
for (Car car : input) {
TreeViewerColumn treeViewerColumn = new
TreeViewerColumn(trViewer, SWT.NONE);
TreeColumn trclmnNewColumn = treeViewerColumn.getColumn();
trclmnNewColumn.setWidth(120);
trclmnNewColumn.setText(car.getModel());
}
}
//finally this is where i set the providers and input
trViewer.setContentProvider(new CarsContentProvider());
trViewer.setLabelProvider(new CarsLabelProvider());
trViewer.setInput(loadCarsData());
Can you help me???
Regards,
Mok from Bonn
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.01832 seconds