2017-10-10 10 views
0

Nebula NatTableでセル編集を有効にする方法を学習しようとしています。Nebula 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; 
} 

しかし、例を実行したとき、私は編集することはできません細胞:私はこの機能を表示する_301_CustomDataProviderExample :: createExampleControlを編集しました。私は何が欠けていますか?ありがとう!

更新:この場合の私の解決策は次のとおりです。

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

答えて

0

あなたが編集者とバインディングに設定されます構成DefaultEditBindingsDefaultEditConfiguration関連する必要な編集を、欠けているにキャストすることはできませんユーザーの操作に反応します。

これはドキュメントに説明されています。https://www.eclipse.org/nattable/documentation.php?page=editing

関連する問題