java - 在 Vaadin 8 中使 Grid 的特定列可编辑
问题描述
在 Vaadin 8 中,我有一个从usingGrid
填充的列和行。现在,我有一个按钮,单击它后,用户应该能够编辑.jsondata
setDataProvider
edit
Grid
解决方案
在 Vaadin 8 中,有多种方法可以将编辑合并到 Grid 中。
行编辑器有一个内置功能,也可以在无缓冲模式下使用。这并不等同于让整个列可编辑,但可以很好地模仿它,同时您可以使用 Binder 来设置字段、验证等。还有一个附加组件可以帮助使用无缓冲编辑器进行键盘导航。
或者,您可以使用Grid Renderers Collection 插件,它提供了一组带有编辑事件等的可编辑渲染器。这就是您正在寻找的,面向列的编辑。当只有少数列可编辑时,这是一种有用的方法。
https://vaadin.com/directory/component/grid-renderers-collection-for-vaadin7
如果您广泛使用渲染器,将有更多的小部件供浏览器渲染,这可能会比在非缓冲模式下使用行编辑器等 UI 慢。这在很大程度上取决于您的应用程序和用例。我建议研究多种方法并选择最适合您的方法。
第三种选择是使用 ComponentColumn 功能,请参阅Vaadin 文档中的组件渲染器一章。这比实现自定义渲染器要容易一些,但会增加一些额外的开销。
推荐阅读
- r - R和GIS:将sf对象内的多个GPS坐标列表转换为多边形
- angular - Angular subscribe method is calling multiple time
- java - 即使成功登录,用户也是匿名的
- matrix - 创建静态度量以获取 power bi dax 中的值
- django - 在 django 中重置密码后向用户发送电子邮件
- numpy - opencv,Python中的计算问题
- kubernetes - 用于跨所有节点调度 pod 的 POD 亲和性规则
- javascript - 无效语法的错误 1064 不断显示,我不知道为什么
- c++ - 基于 QT 的 GUI 应用程序是否可以在 Windows PE 中运行?
- azure - 调试yaml管道脚本