当鼠标左键单击可编辑单元格时,阻止 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
}
});
}
});
}
};
当左键单击 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
}
});
}
});
}
};