У меня есть таблица из двух столбцов, состоящая из флажка в первом столбце и ComboBoxCellEditor во втором столбце. Когда я выбираю что-то в ComboBox, CheckBox соответствующего состояния строки должен измениться на отмеченный.Изменить выбор флажка на основе выбора ComboBoxCellEditor в RCP
tabViewer = new TableViewer(innerTopComp, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
И ComboBoxCellEditor я создал класс, который расширяет EditingSupport.
public class ComboEditing extends EditingSupport {
private ComboBoxCellEditor cellEditor;
private String[] comboDataArr;
public ComboEditing(final TableViewer viewer, String[] ComboDataArr) {
super(viewer);
this.comboDataArr = ComboDataArr;
this.cellEditor = new ComboBoxCellEditor(((TableViewer)viewer).getTable(), this.comboDataArr, SWT.DROP_DOWN);
}
@Override
protected CellEditor getCellEditor(Object element) {
// TODO Auto-generated method stub
return cellEditor;
}
@Override
protected boolean canEdit(Object element) {
// TODO Auto-generated method stub
return true;
}
@Override
protected Object getValue(Object element) {
// TODO Auto-generated method stub
return 0;
}
@Override
protected void setValue(Object element, Object value) {
// TODO Auto-generated method stub
if((element instanceof TableData) && (value instanceof Integer)) {
Integer choice = (Integer)value;
String option = comboDataArr[choice];
((TableData)element).setMatches(option);
getViewer().update(element, null);
}
}
}
Как установить флажок, соответствующий ComboBox в строке, когда что-то выбрано в ComboBox.
Разве вы не можете просто сделать это в 'setValue' метода' EditingSupport'? –
Как я получу соответствующий флажок в методе setValue? – user387600
Я думаю, вам нужно более четко объяснить, что у вас есть и что вы хотите делать. –