我正在使用 vaadin-spring-boot-starter 21.0.7 开发一个新应用程序,并尝试在网格中呈现训练数据库信息。我想让列表中的第一列成为活动/非活动复选框,但我不知道如何完成。我所看到的一切都是针对 Vaadin 7 或 8 的。大多数当前代码位于https://github.com/gregoryleblanc/ealOperators/tree/vaadin的 MainView.java 中
问问题
63 次
2 回答
2
您可以对 Vaadin 14 及更高版本执行此操作。我没有使用旧版本的 Vaadin 的经验。
grid.addComponentColumn(myBean -> {
Checkbox checkbox = new Checkbox();
checkbox.setValue(true); // this you must handle
checkbox.addClickListener(e -> {
// todo
}
return checkbox;
});
lambda 可以替换为方法引用
grid.addComponentColumn(this::createCheckboxComponent);
private Component createCheckboxComponent(MyBean myBean) {
Checkbox checkbox = new Checkbox();
// code here
return checkbox;
}
于 2021-12-01T06:33:17.643 回答
0
我正在使用一些超旧版本的 vaadin,但我想同样的解决方案也应该适用于最新版本,这就是我通常的做法:
- 类型列
String
- 列添加了
ButtonRenderer
(column.setRenderer
) 带有事件侦听器的渲染器,它允许我处理用户的点击操作 - 值将是一个带有 FontAwesome 字体的字符串(添加了自定义 CSS 样式
font-family
并在网格中配置它setCellStyleGenerator
) - 检查使用价值时
String.valueOf((char) FontAwesome.CHECK_SQUARE_O.getCodepoint())
- 未检查时的使用价值
String.valueOf((char) FontAwesome.SQUARE_O.getCodepoint())
使用较新版本的 vaadin 可能有更简单的方法。但是,这种方法应该仍然有效。
于 2021-11-30T20:57:45.957 回答