编辑网格时是否可以在 GridPro 上的 Vaadin 14 中显示 save/cancel 按钮

Is it possible to display the save/cancel buttons in Vaadin 14 on GridPro when editing the grid

在 Vaadin 8 的网格中,双击 GridPro 中的一行时,您会看到 Save/Cancel 按钮。在 Vaadin 14 Grid Pro 中,默认情况下似乎没有保存 save/cancel 按钮。有没有办法启用它?

似乎应该可以,因为我们有 getEditor().addSaveListener() 等等

作为一个额外的问题,每当我在网格中执行任何操作时,它似乎只调用 addCancelListener()。是否有一个原因?当然,首要问题是是否可以在 GridPro

中显示 save/cancel 按钮

GridProGrid 添加了另一个编辑功能,它根本没有使用 grid.getEditor()。所以这些不能混用。

GridPro 专为基于单元格的电子表格而设计,例如使用改进的键盘导航进行编辑,因此没有 save/cancel 按钮。使用 grid.addEditColumn(..) 方法并使用如下所示的内置字段或自定义类型添加可编辑列。在这两种情况下,值的保存都在提供的回调中处理。

grid.addEditColumn(Person::getEmail)
        .text((item, newValue) ->
                item.setEmail(newValue))
        .setHeader("Email (editable)");

因此不会发出来自网格编辑器的保存/取消事件。此外,默认情况下此功能不使用 Binder。如果你需要的话,你需要自己使用wire Binder,参见Vaadin's cookbook.

中的示例

基本 Grid 具有内置的基于行的编辑器,它也使用 Binder。有了它,您可以在缓冲模式下使用它的活页夹和编辑器,例如,在您有编辑/取消按钮的地方添加一个额外的组件列,随您喜欢。 Vaadin's component pages.

中有相当不错的代码示例

总而言之,提供了两种不同的编辑工具,不能混用。