【发布时间】:2018-03-22 19:28:32
【问题描述】:
我想在网格中显示缩略图。
这是我的相关代码(简化):
addColumnVisibilityChangeListener(event -> {
if (ID_THUMBNAIL.equals(event.getColumn().getId())) {
if (event.isHidden()) {
setBodyRowHeight(-1);
} else {
setBodyRowHeight(130);
}
// needed to force rendering of current values
getDataProvider().refreshAll();
}
});
// rescale returns a (cached) ExternalResource, image is 120x120px max
// aspect ratio is preserved, so at least width or height is 120px
grid.addColumn(this::rescale, new ImageRenderer<>(this::showImage))
.setCaption(ID_THUMBNAIL)
.setStyleGenerator(r -> ID_THUMBNAIL)
.setWidth(131);
CSS 是:
.asset-grid td.thumbnail {
// height is set bij Vaadin Grid
padding: 5px;
text-align: center !important;
}
.asset-grid td.thumbnail img {
vertical-align: middle !important;
}
除了缩略图图像的垂直对齐之外,一切正常。它显示在单元格的顶部。我尝试了几种设置,但没有任何效果。
【问题讨论】:
-
您是否尝试在 .asset-grid td.thumbnail 中添加:“display: table-cell;”?
-
刚试了一下,没区别
-
我有几个解决方法,但这取决于您如何设置行高。因此,如果您可以提供 sscce 会有所帮助,这样我们就可以将所有元素都考虑在内。
-
@Morfic 更新了我的问题(设置行高)。这段代码被简化了,但是它包含了所有的信息,没有使用其他的CSS(其余的都是默认的Valo)。
-
应该足够了,但是请告诉我您使用的确切 vaadin 版本,因为
setBodyRowHeightno longer exists in v8.1.4+(它应该在 8.2.0 中修复)
标签: css vaadin8 vaadin-grid