控制cellEditor是否为可编辑

来源:互联网 发布:长视频软件 编辑:程序博客网 时间:2024/05/21 17:07
class TableViewerEditingSupport extends EditingSupport {


int column;
private TableViewer columnViewer;
private CellEditor editor;

public TableViewerEditingSupport(ColumnViewer viewers, int column) {
super(viewers);
this.columnViewer = (TableViewer) viewers;
switch (column) {
case 0:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER);
break;
case 1:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER);
break;

case 2:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER|SWT.READ_ONLY);
break;
case 3:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER|SWT.READ_ONLY);
break;
case 4:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER);
break;
case 5:
editor = new TextCellEditor(columnViewer.getTable(), SWT.SINGLE
| SWT.BORDER);
break;
}
this.column = column;
}

/**此方法就是控制cellEditor是否为可编辑的
@Override
protected boolean canEdit(Object element) {
/**将【element】转换为Solution对象【solution】*/
//执行判断,如果易有项目,则不可编辑直接返回false,如果index为1,2不能编辑
/**调用【SpringUtil.getProjectListDAO】方法取得【IProjectListDAO】对象并调用其【findBySolution】方法传入【solution。solutionId】取得的结果放到List对象【tempList】中*/
/**判断【tempList】如果部位空则返回false*/
/**判断index如果为1或者为2返回false*/
PmSolution solution = (PmSolution)element;
/**
* 如果方案ID为空,此方案为新增方案,直接可以编辑
*/
if(!StringUtil.isNullOrEmpty(solution.getSolutionId()))
{
if(column==2||column==3){
return false;//返回false 为 不可编辑
}
}
return true; //返回true 为可编辑
}
2 0
原创粉丝点击