我创建了一个包含两列的表查看器。第一列名称为" Fristname"和第二列名称"姓氏"。我为这两列添加了编辑器支持,但我只能在第一列中进行编辑/选择。在我的第二列中无法进行编辑/选择。不知道为什么有人请帮帮我?以下是代码段。
public class EditColumn extends EditingSupport {
private final TableViewer viewer;
private final CellEditor editor;
public EditColumn(TableViewer viewer) {
super(viewer);
this.viewer = viewer;
this.editor = new TextCellEditor(viewer.getTable());
}
@Override
protected boolean canEdit(Object element) {
System.out.println("can edit");
return true;
}
@Override
protected CellEditor getCellEditor(Object element) {
return editor;
}
@Override
protected Object getValue(Object element) {
// TODO Auto-generated method stub
return ((Person) element).getFirstName();
}
@Override
protected void setValue(Object element, Object value) {
((Person) element).setFirstName(String.valueOf(value));
viewer.update(element, null);
}
}
在EditColumn类Code
下面gcloud ml-engine jobs submit training
答案 0 :(得分:0)
您的EditColumn
课程始终使用getFirstName
的{{1}}和setFirstName
方法,因此您可以编辑姓氏列,但未使用正确的值。< / p>
您需要为每列使用不同的Person
类。