编辑网格时是否可以在 GridPro 上的 Vaadin 14 中显示保存/取消按钮

Ste*_*ier 3 vaadin vaadin-grid vaadin-flow vaadin14

在 Vaadin 8 的网格中,双击GridPro. 在 Vaadin 14 Grid Pro 中,默认情况下似乎没有保存/取消按钮。有没有办法启用它?

似乎应该是可能的,因为我们有getEditor().addSaveListener()等等。

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

Tat*_*und 5

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

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

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

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

BasicGrid具有内置的基于行的编辑器,它也使用Binder. 有了那个,你可以在缓冲模式下使用它的活页夹和编辑器,例如,在你有编辑/取消按钮的地方添加一个额外的组件列,你喜欢什么。Vaadin 的组件页面中有相当不错的代码示例。

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