Css 设置vaadin工作台高度以适合内容

Css 设置vaadin工作台高度以适合内容,css,vaadin,Css,Vaadin,我在项目中使用CustomLayout来分离UI对象及其样式 我对桌子有些问题 我定义了一个div,并希望将表的高度设置为div的高度 哪种方式最好 我想: table.setsizeFull() ; table.setPageLength(0); 在代码中,但结果不是我想要的。 我想在div的尺寸表的完整大小,无论有或没有元素内 有什么建议吗 我正在解决一个类似的问题:我希望一个表在添加行时能够增长。我不在乎它的确切高度,只要它显示了所有的数据行,并且随着我添加行而增长。我还希望桌子底部总是

我在项目中使用CustomLayout来分离UI对象及其样式

我对桌子有些问题

我定义了一个div,并希望将表的高度设置为div的高度

哪种方式最好

我想:

table.setsizeFull() ;
table.setPageLength(0);
在代码中,但结果不是我想要的。 我想在div的尺寸表的完整大小,无论有或没有元素内


有什么建议吗

我正在解决一个类似的问题:我希望一个表在添加行时能够增长。我不在乎它的确切高度,只要它显示了所有的数据行,并且随着我添加行而增长。我还希望桌子底部总是有一些额外的空间

这里的核心思想是我做了三件事:

  • 不要为表格调用
    setHeight()
  • 我使用
    setPageLength()
    按行定义表格高度——按表格应高多少行
  • 我对调整大小的元素调用了
    requestRepaint()
    。如果我调整了column元素的大小,我会在column元素上调用它。如果我调整了表的大小,我会在表上调用它
下面是一个通用的代码示例,展示了我是如何解决这个问题的。我的代码不完整,但它可能会帮助您开始

public class MyClass extends Table {

    public MyClass(...)
    {
        this.setWidth("100%"); // fill parent <td>'s width, allows draggable sizing.
        // note: do NOT setHeight().

        setupColumns(); // details not shown here
        setupBehavior(); // details not shown (listeners, etc)
        addDataToTable(); // details not shown

        adjustHeight();
    }

    // I also have a function to add rows to the table when 
        // a button is clicked.  That function calls adjustHeight() (shown below).

    public void adjustHeight()
    {
        this.setPageLength(this.getItemIds().size() + 1);
        this.requestRepaint();
    }
}
公共类MyClass扩展表{
公共MyClass(…)
{
this.setWidth(“100%”;//填充父对象的宽度,允许拖动大小调整。
//注意:不要设置高度()。
setupColumns();//此处未显示详细信息
setupBehavior();//未显示详细信息(侦听器等)
addDataToTable();//未显示详细信息
调整高度();
}
//我还有一个函数,可以在需要时向表中添加行
//单击一个按钮。该函数调用adjustHeight()(如下所示)。
公共空间高度()
{
this.setPageLength(this.getItemId().size()+1);
此参数为.requestRepaint();
}
}

[EDIT/FOLLOW-UP]我发现,如果使用
setColumnExpandRatio()
(动态列宽),使用此方法会导致在表上呈现不必要的滚动条。因此,作为一个提醒,如果你使用我上面展示的技巧,你应该使用固定宽度列(
setColumnWidth()
)。

我不确定它是否有用,但在你的示例中“length”拼写错误。我的错,但这不是问题所在,谢谢!我对Vaadin没有任何线索,所以这可能没有帮助,但以下是使用CSS的方法:@BillyMoat它有点复杂