我的代码的下面部分导致onEditorExit方法的递归调用。如果我删除setData调用,则不会发生递归。 什么是解决方法?
myGrid.addEditorExitHandler(new EditorExitHandler() {
public void onEditorExit(EditorExitEvent event) {
GWT.log("Hello");
myGrid.setData(new ListGridRecord());
}
});
现在检查控制台输出 -
答案 0 :(得分:0)
它不起作用,因为每次调用setData()
时,编辑器都会在无限循环中触发editorExit
事件(不递归)。顺便说一句,以你正在进行的方式调用setData()
将用ListGrid
中的所有记录替换一个新的空记录。这似乎是令人不安的用户体验。
当您跳出最后一个记录时,您似乎想要创建并开始编辑新记录。要在ListGrid
中执行此操作,请使用:
grid.setListEndEditAction(RowEndEditAction.NEXT);
这就是你需要做的就是让它运转起来。