在 Vaadin 8 的网格中,双击 GridPro
中的一行时,您会看到“保存/取消”按钮。在 Vaadin 14 Grid Pro 中,默认情况下似乎没有保存/取消按钮。有没有办法启用它?
这似乎应该是可能的,因为我们有 getEditor().addSaveListener()
等。
作为一个额外的问题,每当我在网格中执行任何操作时,它似乎只调用 addCancelListener()
。是否有一个原因?当然,首要问题是是否可以在 GridPro
最佳答案
GridPro
向 Grid
添加了另一个编辑功能,它根本没有使用 grid.getEditor()
。所以这些不能混用。
GridPro
专为基于单元格的电子表格而设计,例如使用改进的键盘导航进行编辑,因此不存在保存/取消按钮。使用 grid.addEditColumn(..) 方法添加可编辑列,并使用如下所示的内置字段或自定义类型。在这两种情况下,值的保存都在提供的回调中处理。
grid.addEditColumn(Person::getEmail)
.text((item, newValue) ->
item.setEmail(newValue))
.setHeader("Email (editable)");
因此不会发出来自网格编辑器的保存/取消事件。此外,默认情况下此功能不使用 Binder
。如果需要,您需要自己使用线夹,请参见 Vaadin's cookbook 中的示例.
Basic Grid
具有内置的基于行的编辑器,它还使用 Binder
。有了它,您可以在缓冲模式下使用它的 Binder 和编辑器,例如,在您有编辑/取消按钮的地方添加一个额外的组件列,随您喜欢。 Vaadin's component pages 中有相当不错的代码示例.
总而言之,提供了两种不同的编辑工具,不能混用。
关于vaadin - 编辑网格时是否可以在 GridPro 上的 Vaadin 14 中显示保存/取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68567780/