我正在使用带有打开编辑器 (setEditorEnabled(true)) 的网格,但我将通过调用 editItem() 方法以编程方式启动内联编辑器。如何禁用运行内联编辑器的鼠标事件处理程序?
最佳答案
感谢@Morfic,我解决问题如下:
Grid grid = new Grid(){
@Override
protected void doCancelEditor() {
super.doCancelEditor();
setEditorEnabled(false); // disable the editor every time when editing is completed
}
};
grid.setEditorEnabled(false); // by default the editor is disabled
....
// grid initialization
....
// create any component (button for example) which will call the editor
Button button = new Button("Edit");
button.addClickListener((Button.ClickListener) event -> {
grid.setEditorEnabled(true); // activate the editor when the desired event occurred
grid.editItem(itemId); // call the editor with itemId (it may be selected itemId)
});
关于java - Vaadin 网格 : How to disable mouse event handler which runs inline editor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38916506/