2017-10-10 98 views
0

我在学习如何在星云NatTable中启用单元格编辑功能。我编辑_301_CustomDataProviderExample :: createExampleControl显示此功能:在星云中启用单元格编辑NatTable

@Override 
public Control createExampleControl(Composite parent) { 
    //... 
    final NatTable natTable = new NatTable(parent, SWT.NO_BACKGROUND 
       | SWT.NO_REDRAW_RESIZE | SWT.DOUBLE_BUFFERED, bodyDataLayer, false); 

    natTable.addConfiguration(new DefaultNatTableStyleConfiguration()); 

    natTable.addConfiguration(new AbstractRegistryConfiguration() { 
     @Override 
     public void configureRegistry(IConfigRegistry configRegistry) { 
      configRegistry.registerConfigAttribute(
        EditConfigAttributes.CELL_EDITABLE_RULE, 
        IEditableRule.ALWAYS_EDITABLE); 
     } 
    }); 

    natTable.configure(); 

    return natTable; 
} 

但运行例子的时候,我不能编辑细胞。我错过了什么?谢谢!

更新:我对这种情况下的解决方案是:

bodyDataLayer.addConfiguration(new DefaultEditConfiguration()); 
    bodyDataLayer.addConfiguration(new DefaultEditBindings()); 

注意:没有这些配置添加到java.lang.ClassCastException的natTable原因:org.eclipse.nebula.widgets。 nattable.NatTable不能转换为org.eclipse.nebula.widgets.nattable.layer.AbstractLayer

回答