import org.eclipse.nebula.widgets.grid.Grid; import org.eclipse.nebula.widgets.grid.GridColumn; import org.eclipse.nebula.widgets.grid.GridColumnGroup; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class ShowHideMiddleColumn { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout()); Button b2 = new Button(shell, SWT.PUSH); b2.setText("Show/Hide C2"); Button b3 = new Button(shell, SWT.PUSH); b3.setText("Show/Hide C3"); Grid grid = new Grid(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); grid.setHeaderVisible(true); GridColumn column = new GridColumn(grid, SWT.NONE); column.setText("C 1"); column.setWidth(100); GridColumnGroup columnGroup1 = new GridColumnGroup(grid, SWT.NONE); columnGroup1.setText("Column Group 1"); final GridColumn g1column2 = new GridColumn(columnGroup1, SWT.NONE); g1column2.setText("G1 C2"); g1column2.setWidth(60); final GridColumn g1column3 = new GridColumn(columnGroup1, SWT.NONE); g1column3.setText("G1 C3"); g1column3.setWidth(60); GridColumn g1column4 = new GridColumn(columnGroup1, SWT.NONE); g1column4.setText("G1 C4"); g1column4.setWidth(60); GridColumnGroup columnGroup2 = new GridColumnGroup(grid, SWT.NONE); columnGroup2.setText("Column Group2"); final GridColumn g2column2 = new GridColumn(columnGroup2, SWT.NONE); g2column2.setText("G2 C2"); g2column2.setWidth(60); final GridColumn g2column3 = new GridColumn(columnGroup2, SWT.NONE); g2column3.setText("G2 C3"); g2column3.setWidth(60); GridColumn g2column4 = new GridColumn(columnGroup2, SWT.NONE); g2column4.setText("G2 C4"); g2column4.setWidth(60); b2.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { g1column2.setVisible(!g1column2.isVisible()); g2column2.setVisible(!g2column2.isVisible()); } }); b3.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { g1column3.setVisible(!g1column3.isVisible()); g2column3.setVisible(!g2column3.isVisible()); } }); shell.setSize(600, 250); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } }