我正在使用带有开启编辑器的Grid(setEditorEnabled(true)),但是我将通过调用 editItem()方法以编程方式启动内联编辑器。如何禁用运行内联编辑器的鼠标事件处理程序?
答案 0 :(得分:1)
谢谢@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)
});