急tableViewer不能编辑,该如何解决

急急!tableViewer不能编辑
请高手看下哪里的问题编辑功能不能实现 ,tableViewer能实现,它的编辑功能不能实现
代码如下: 
SelectView.java 
createPartControl() 方法 
public void createPartControl(Composite parent) { 
  
  this.tableViewer=new TableViewer(parent,SWT.MULTI|SWT.H_SCROLL|SWT.V_SCROLL|SWT.FULL_SELECTION); 
final Table table=this.tableViewer.getTable(); 
//タイトルのうちの最初のデバイス 
this.tableColumn=new TableColumn(table,SWT.LEFT); 
this.tableColumn.setText("プロパティ"); 
this.tableColumn.setWidth(100); 
//タイトルのうち2番目のデバイス 
this.tableColumn2=new TableColumn(table,SWT.LEFT); 
this.tableColumn2.setText("値"); 
this.tableColumn2.setWidth(100); 
table.setHeaderVisible(true); 
table.setLinesVisible(true); 

//テーブルに値を追加します 
final TableItem item1=new TableItem(table,SWT.NONE); 
item1.setText(new String[]{"id:","TableView"}); 

final TableItem item2=new TableItem(table,SWT.NONE); 
item2.setText(new String[]{"value:","com.nec.jst.SelectView"}); 

final TableItem item3=new TableItem(table,SWT.NONE); 
item3.setText(new String[]{"action:","SelectAction"}); 

TableItem item4=new TableItem(table,SWT.NONE); 
item4.setText(new String[]{"bean:","PeopleEntity"}); 

TableItem item5=new TableItem(table,SWT.NONE); 
item5.setText(new String[]{"method:","no"}); 

TableItem item6=new TableItem(table,SWT.NONE); 
item6.setText(new String[]{"validation:",null}); 

this.tableViewer.setColumnProperties(new String []{"property","value"}) ; 
CellEditor[] editors = new CellEditor[2] ; 
editors[0]=null; 
editors[1] = new TextCellEditor(tableViewer.getTable()) ; 
tableViewer.setCellEditors(editors) ; 
  ICellModifier modifier = new MyCellModifier(tableViewer) ; 
  tableViewer.setCellModifier(modifier) ; 


MyCellModifier.java文件 

package com.mountainminds.eclipse.selectionsample; 

import org.eclipse.jface.viewers.ICellModifier; 
import org.eclipse.jface.viewers.TableViewer; 

public class MyCellModifier implements ICellModifier { 
private TableViewer tv; 

public MyCellModifier(TableViewer tableViewer) { 
this.tv=tableViewer; 


public boolean canModify(Object element, String property) { 
if(property.equals("property")){ 
  return false ; 
  } 
  return true; 



public Object getValue(Object element, String property) { 
Person p = (Person)element ; 
if(property.equals("value")){ 
  return new Integer(getNameIndex(p.getValue())); 
  } 
  throw new RuntimeException("error column name : " + property); 


private int getNameIndex(Object name) { 
for(int i=0;i <SelectionView.downColumn.length;i++){ 
if(SelectionView.downColumn[i].equals("value")) 
return i; 

return -1; 


public void modify(Object element, String property, Object value) { 
// TODO Auto-generated method stub 





------解决方案--------------------
代码改完了,在另一个帖子里