无法在我的 Vaadin 应用程序中调整网格大小

问题描述 投票:0回答:1

我的 Vaadin 应用程序只包含 2 个部分

  1. 包含横幅和多个按钮的水平布局;

  2. 带网格的垂直布局。 它按预期(大部分)工作,但我的问题是,无论窗口大小如何,包含 2000 多行的网格只显示三行。这是它的截图: 我希望它占据整个页面,但我所做的一切都不会对网格大小产生任何影响。 这是我的课:

    public class TableLayout extends VerticalLayout {
    

    // 一些变量 公共表格布局(){ this.addClassName("书桌"); 这个.setSizeFull(); registrations = new ArrayList<>(); 创建图书表(); }

    private void createBooksTable() {
        this.booksTable = new Grid<>();
        this.booksTable.setWidth("100%");
        this.booksTable.setMinHeight("100%");
        this.yearRenderer = new HitYearRenderer();
        this.booksTable.addColumn(this.yearRenderer).setHeader("Год").setWidth("8%");
        this.booksTable.addColumn(new NewTagRenderer()).setWidth("60px");
        this.booksTable.addColumn(new AuthorListRenderer()).setHeader("Автор(ы)").setAutoWidth(true);
        this.booksTable.addColumn(new TitleRenderer()).setHeader("Произведение").setWidth("50%");
        this.booksTable.addColumn(new RatingRenderer()).setHeader("Оценки").setAutoWidth(true);
        this.booksTable.addColumn(new ReaderRatingRenderer()).setAutoWidth(true);
        this.booksTable.addColumn(new StatusRenderer()).setHeader("Статус").setAutoWidth(true);
        this.booksTable.setItemDetailsRenderer(new BookDetailsRenderer());
        this.booksTable.addThemeVariants(GridVariant.LUMO_COMPACT);
        this.booksTable.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT);
    }
    // some other code
    

    }

这是我的 css 文件所说的:

.book-table {
width: 98%;
min-height: 100%;
background-color: whitesmoke
}

我确实尝试将 minHeight 设置为 100% 而不是全尺寸。一点作用都没有。有人能告诉我我还能做些什么来增加桌子的高度吗?

css grid resize vaadin23
1个回答
0
投票

根据您共享的代码不可能知道,但看起来您在高度为 100% 的 VerticalLayout 中有一个高度为 100% 的网格。所以 Grid 是 100% 的父级,也就是 100% 的父级,这里是未知的。因此,您需要确保 TableLayout 的父级不限制 Grid 的总高度。在浏览器开发工具的帮助下,这应该很容易检查。

顺便说一句,您在 Java 代码(修改元素的

style
属性)和 CSS 中都设置了组件的高度。这不应该影响您案件的结果,但您通常应该限制自己在一个地方进行尺寸调整。

© www.soinside.com 2019 - 2024. All rights reserved.