Satheesh Babu wrote:
Hi,
I've a requirement where I've a list of records sorted by item. I want
to have some kind of totalling on quantity, like below.
Item Location Qty
----------------------------------------------
+ Mouse 15
Godown 10
Store Floor 5
+ KeyBoard 7
Store Floor 7
Each line is a record. When I click on +, it is like collapsing and
expanding the detail information. I am not sure if it is possible to
do this in RCP.
Regards
This is simple to do. You need to create a TreeViewer and add
TreeColumns to it as shown below. Also, dont forget to implement a
content provider and label provider based on your input object. Your
content provider should implement ITreeContentProvider and your label
provider should implement ITableLabelProvider. Also, if you are adding
the tree to a GridLayout then you will probably also want to do
something like viewer.setLayoutData(new GridData()) after the viewer is
setup.
TreeColumn treeColumn = null;
TreeViewer viewer = null;
viewer = new TreeViewer(parent, SWT.BORDER | SWT.FULL_SELECTION |
SWT.H_SCROLL | SWT.V_SCROLL));
viewer.getTree().setHeaderVisible(true);
treeColumn = new TreeColumn(viewer.getTree(), SWT.LEFT);
treeColumn.setText("Item");
treeColumn.setWidth(75);;
treeColumn.setResizable(true);
treeColumn = new TreeColumn(viewer.getTree(), SWT.LEFT);
treeColumn.setText("Location");
treeColumn.setWidth(150);;
treeColumn.setResizable(true);
treeColumn = new TreeColumn(viewer.getTree(), SWT.LEFT);
treeColumn.setText("Qty");
treeColumn.setWidth(75);;
treeColumn.setResizable(true);
viewer.setContentProvider(new YourContentProvider());
viewer.setLabelProvider(new YourLabelProvider());
viewer.setInput( someInput );