当鼠标左键单击可编辑单元格时,NatTable 的默认行为是立即启动单元格的编辑器。
用户有时只需单击左键将焦点扔到表格中,然后使用箭头键在表格内部导航。鉴于表格的默认行为,他们首先需要通过 ENTER、ESCAPE 等关闭编辑操作,然后才能移动单元格选择。
我想更改此行为,以便鼠标左键单击选择被单击的单元格,但不会发起编辑。
当鼠标左键单击可编辑单元格时,NatTable 的默认行为是立即启动单元格的编辑器。
用户有时只需单击左键将焦点扔到表格中,然后使用箭头键在表格内部导航。鉴于表格的默认行为,他们首先需要通过 ENTER、ESCAPE 等关闭编辑操作,然后才能移动单元格选择。
我想更改此行为,以便鼠标左键单击选择被单击的单元格,但不会发起编辑。
编辑触发器在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
}
});
}
});
}
};