当鼠标左键单击可编辑单元格时,阻止 NatTable 进入编辑模式

Stop NatTable from going into edit mode when an editable cell is left-mouse-clicked

当左键单击 editable 单元格时,NatTable 的默认行为是立即启动单元格的编辑器。

用户有时只需单击左键即可将焦点移至 table,然后使用箭头键在其中导航。考虑到 table 的默认行为,他们首先需要通过 ENTER、ESCAPE 等取消编辑操作,然后才能移动单元格选择。

我想更改此行为,以便单击鼠标左键选择被单击的单元格,但不会启动编辑。

编辑触发器在 org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditBindings class 中配置,供 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
                        }


                    });
                }


            });
        }

    };