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 回答