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