1

編集可能なセルをマウスで左クリックしたときの NatTable のデフォルトの動作は、セルのエディタをすぐに起動することです。

ユーザーは、単に左クリックしてテーブルにフォーカスを移動し、矢印キーを使用してテーブル内を移動することがあります。テーブルのデフォルトの動作を考えると、セル選択を移動する前に、まず ENTER、ESCAPE などで編集操作を閉じる必要があります。

この動作を変更して、マウスの左クリックでクリックされたセルが選択されるが、編集は行われないようにしたいと思います。

4

1 に答える 1

3

編集トリガーは、org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditBindingsによって使用されるクラスで設定されorg.eclipse.nebula.widgets.nattable.grid.layer.config.DefaultGridLayerConfigurationます。

必要な作業は、異なる編集バインディングを使用する別のグリッド レイヤー構成を登録することだけです。例えば:

        GridLayer gridLayer = new GridLayer(bodyLayer, columnHeaderLayer, rowHeaderLayer, cornerLayerStack, false) {

        @Override
        protected void init(boolean useDefaultConfiguration) {
            super.init(useDefaultConfiguration);
            addConfiguration(new DefaultGridLayerConfiguration(this) {

                @Override
                protected void addEditingUIConfig() {
                    addConfiguration(new DefaultEditBindings() {

                        @Override
                        public void configureUiBindings(
                                UiBindingRegistry uiBindingRegistry) {
                            super.configureUiBindings(uiBindingRegistry);

                            //update bindings as you wish
                        }


                    });
                }


            });
        }

    };
于 2015-07-14T16:25:36.663 に答える