首页 > 解决方案 > 在 Vaadin 8 中使 Grid 的特定列可编辑

问题描述

在 Vaadin 8 中,我有一个从usingGrid填充的列和行。现在,我有一个按钮,单击它后,用户应该能够编辑.jsondatasetDataProvidereditGrid

标签: javavaadinvaadin8

解决方案


在 Vaadin 8 中,有多种方法可以将编辑合并到 Grid 中。

行编辑器有一个内置功能,也可以在无缓冲模式下使用。这并不等同于让整个列可编辑,但可以很好地模仿它,同时您可以使用 Binder 来设置字段、验证等。还有一个附加组件可以帮助使用无缓冲编辑器进行键盘导航。

或者,您可以使用Grid Renderers Collection 插件,它提供了一组带有编辑事件等的可编辑渲染器。这就是您正在寻找的,面向列的编辑。当只有少数列可编辑时,这是一种有用的方法。

https://vaadin.com/directory/component/grid-renderers-collection-for-vaadin7

如果您广泛使用渲染器,将有更多的小部件供浏览器渲染,这可能会比在非缓冲模式下使用行编辑器等 UI 慢。这在很大程度上取决于您的应用程序和用例。我建议研究多种方法并选择最适合您的方法。

第三种选择是使用 ComponentColumn 功能,请参阅Vaadin 文档中的组件渲染器一章。这比实现自定义渲染器要容易一些,但会增加一些额外的开销。


推荐阅读