【发布时间】:2015-10-03 08:16:37
【问题描述】:
当鼠标左键单击可编辑单元格时,NatTable 的默认行为是立即启动单元格的编辑器。
用户有时只需单击左键将焦点扔到表格中,然后使用箭头键在表格内部导航。鉴于表格的默认行为,他们首先需要通过 ENTER、ESCAPE 等解除编辑操作,然后才能移动单元格选择。
我想更改此行为,以便鼠标左键单击选择被单击的单元格,但不会引发编辑。
【问题讨论】:
标签: nattable
当鼠标左键单击可编辑单元格时,NatTable 的默认行为是立即启动单元格的编辑器。
用户有时只需单击左键将焦点扔到表格中,然后使用箭头键在表格内部导航。鉴于表格的默认行为,他们首先需要通过 ENTER、ESCAPE 等解除编辑操作,然后才能移动单元格选择。
我想更改此行为,以便鼠标左键单击选择被单击的单元格,但不会引发编辑。
【问题讨论】:
标签: nattable
编辑触发器在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
}
});
}
});
}
};
【讨论】: