Vaadin Grid 在编辑器处于活动状态时禁用编辑器

Vaadin Grid disable editor when editor is active

我正在使用 Vaadin 7.4,我尝试处理当用户在编辑一行时想要关闭编辑器的情况。 在尝试此操作时,方法 setEditorEnabled(false) 抛出 IllegalstateException。我不想处理这个异常,所以我检查 isEditorActive() 是否存在。当它处于活动状态时,我取消了编辑器。

    if(getGrid().isEditorActive())
    {
        getGrid().cancelEditor();
    }

    getGrid().setEditorEnabled(editMode);
    setEditButtonDescription(editMode);

    getAppendButton().setVisible(editMode);
    getDeleteButton().setVisible(editMode);
    getResetButton().setVisible(editMode);
    getSaveButton().setVisible(editMode);

我的问题是,在调用 cancelEditor() 之后,setEditorEnabled(false) 不起作用。网格仍可编辑。

当我不调用 cancelEditor() 方法时,setEditorEnabled(false) 正在工作。

有谁知道我在哪里弄错了吗? 也许这个问题有另一种解决方案,或者我只需要捕获异常。

谢谢

此问题已在 Vaadin 8.5.1 中修复。