Vaadin 瓦丁8:如何在网格中显示全尺寸图片?
我试图在Vaadin 8网格中显示人员列表,包括他们的照片(字节[]中的JPEG)。 但是,在“组件”列中(请参见下面的代码),只有图片的顶部可见Vaadin 瓦丁8:如何在网格中显示全尺寸图片?,vaadin,vaadin8,vaadin-grid,Vaadin,Vaadin8,Vaadin Grid,我试图在Vaadin 8网格中显示人员列表,包括他们的照片(字节[]中的JPEG)。 但是,在“组件”列中(请参见下面的代码),只有图片的顶部可见 personsGrid.addComponentColumn(v -> { if (v.getPhoto() != null) { Image personsPhoto = new Image(); displayImage(personsPhoto, v.getPhoto());
personsGrid.addComponentColumn(v -> {
if (v.getPhoto() != null) {
Image personsPhoto = new Image();
displayImage(personsPhoto, v.getPhoto());
return personsPhoto;
}
return new Image("", new ThemeResource("img/no-picture.jpg"));
});
有没有办法在网格中显示全尺寸图片?
通常如何使网格行根据内容高度调整其高度?如问题下的注释所述,这无法动态实现,但可以使用CSS显式设置网格行的高度 沿着这条路线的一些东西会让你朝着正确的方向转向: Java:
final Grid<SomeBean> grid = new Grid<>();
grid.addStyleName("custom-grid-style");
.custom-grid-style .v-grid-body .v-grid-row .v-grid-cell {
min-height: 50px;
line-height: 50px;
}
如果不确定在哪里更改CSS,则需要在正在编辑的类或UI上添加@StyleSheet
注释。然后.css文件必须位于资源文件夹中的相同包位置
例如:
类位于包中:com.example.components
就我所知,您的CSS文件将位于:
src/main/resources/com/example/components
。对于网格行上的动态高度,没有这样的功能。通过覆盖底层CSS,可以显式设置所有行的高度。但是你不能让它们自动调整。谢谢@Jay,看起来很不错。你能告诉我哪些CSS样式对网格行高度有影响吗?官方Vaadin文档对此进行了解释: