Cannot Edit cells of table using TableViewerColumn.setEditingSupport [message #1752126] |
Thu, 19 January 2017 00:13  |
Eclipse User |
|
|
|
Hi,
I m trying to edit my table cell using TextCellEditor but the extended function of EditingSupport are not getting called -
My code is as follows -
//Creation of tableviewer and the columns
TableViewer testscriptsViewer = new TableViewer(script_composite, SWT.BORDER | SWT.FULL_SELECTION);
testscriptTable = testscriptsViewer.getTable();
testscriptTable.setLinesVisible(true);
testscriptTable.setHeaderVisible(true);
testscriptTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
TableViewerColumn snoViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn snoCol = snoViewer.getColumn();
snoCol.setResizable(false);
snoCol.setWidth(57);
snoCol.setText("S.No");
TableViewerColumn oprViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn operationCol = oprViewer.getColumn();
operationCol.setWidth(107);
operationCol.setText("Operation");
oprViewer.setEditingSupport(new TableColumnsEditable(testscriptsViewer));
TableViewerColumn pgViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn pageNameCol = pgViewer.getColumn();
pageNameCol.setWidth(114);
pageNameCol.setText("Page Name");
pgViewer.setEditingSupport(new TableColumnsEditable(testscriptsViewer));
TableViewerColumn objViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn objCol = objViewer.getColumn();
objCol.setWidth(106);
objCol.setText("Object Name");
objViewer.setEditingSupport(new TableColumnsEditable(testscriptsViewer));
TableViewerColumn argColViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn argCol = argColViewer.getColumn();
argCol.setWidth(100);
argCol.setText("Argument");
argColViewer.setEditingSupport(new TableColumnsEditable(testscriptsViewer));
TableViewerColumn varColViewer = new TableViewerColumn(testscriptsViewer, SWT.NONE);
TableColumn varNameCol = varColViewer.getColumn();
varNameCol.setWidth(100);
varNameCol.setText("Variable Name");
varColViewer.setEditingSupport(new TableColumnsEditable(testscriptsViewer));
//Editing Support Class
public class TableColumnsEditable extends EditingSupport
{
private TableViewer tableViewer = null;
private CellEditor editor = null;
public TableColumnsEditable(TableViewer viewer) {
super(viewer);
// TODO Auto-generated constructor stub
this.tableViewer = viewer;
editor = new TextCellEditor(tableViewer.getTable());
}
@Override
protected CellEditor getCellEditor(Object element) {
// TODO Auto-generated method stub
return editor;
}
@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 element.toString();
}
@Override
protected void setValue(Object element, Object value) {
// TODO Auto-generated method stub
element = value;
getViewer().update(value, null);
}
}
Please make this work
Thanks
|
|
|
|
Powered by
FUDForum. Page generated in 0.03165 seconds