CellEditor verhält sich nicht richtig

BlackPint

Grünschnabel
Hallo ,

ich habe eine SWT-table mit zwei Spalten die ich mittels eines Celleditors editieren möchte.
Der ersten Spalte habe ich den ComboBoxCellEditor zugewiesen und der der zweiten Spalte habe ich einen TextCellEditor zugewiesen.

mein Problem :

Wenn ich als erstes einen Wert aus der Combo Selektiere, und dann in die zweite Spalte Klicke um dort einen Wert einzugeben übernimmt die zweite Spalte den
ComboBoxCellEditor der ersten Spalte.

Mein Quelltext ist (soweit ich erkennen kann) aber genauso wie in den Beispielen die zu diesem Thema im Netz zu finden sind.

Kann mir jemand bei dem Problem helfen ?


Code:
...
		this.table = new Table(this.client,SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION); 
		this.table.setLayout(new FormLayout());
		this.table.setLayoutData(this.widgetPos.place(0,0,80,1000));
		this.table.setHeaderVisible(true);
		
		this.viewer = new TableViewer(table);
		this.viewer.setContentProvider(new DescValContentProvider(this.valueList,this.viewer));
		this.viewer.setLabelProvider(new DescValLabelProvider());
		this.viewer.setUseHashlookup(true);
		this.viewer.setInput(this.valueList);


		this.colType = new TableColumn(this.table,SWT.CENTER,0);
		this.colType.setText(colName.get(0));
		this.colType.setWidth(115);
		this.colType.setResizable(true);

		this.colValue = new TableColumn(this.table,SWT.LEFT,1);
		this.colValue.setText(colName.get(1));
		this.colValue.setWidth(115);
		this.colValue.setResizable(true);

		this.colUnit = new TableColumn(this.table,SWT.LEFT,2);
		this.colUnit.setText(colName.get(2));
		this.colUnit.setWidth(115);
		this.colUnit.setResizable(true);

                this.viewer.setColumnProperties(this.valueList.getColumnNames());
		this.viewer.setCellModifier( new DescValCellModifier(mstList,this.viewer,this.valueList));
		this.viewer.setCellEditors(new CellEditor[] {new ComboBoxCellEditor(this.table,this.valueList.getDescriptorSelectable()),new TextCellEditor(table)});
		
...
                this.toolkit.adapt(table);
...
 
Zurück