編集可能なセルをマウスで左クリックしたときの 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
}
});
}
});
}
};