0

Nebula NatTable でセル編集を有効にする方法を学ぼうとしています。_301_CustomDataProviderExample::createExampleControl を編集して、この機能を表示しました。

@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());

: これらの構成を natTable に追加しないでください java.lang.ClassCastException の原因: org.eclipse.nebula.widgets.nattable.NatTable は org.eclipse.nebula.widgets.nattable.layer.AbstractLayer にキャストできません

4

1 に答える 1