gpt4 book ai didi

css - 设置 vaadin 表高度以适合内容

转载 作者:技术小花猫 更新时间:2023-10-29 11:28:56 25 4
gpt4 key购买 nike

我在我的元素中使用 CustomLayout 来分离 UI 对象及其样式。

我对表格有一些问题。

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

哪种方法最好?

我想:

table.setsizeFull() ;
table.setPageLength(0);

在代码中,但是结果不是我想要的。我想要表格在 div 的尺寸中全尺寸,无论是否有内部元素。

有什么建议吗?

最佳答案

我正在解决一个类似的问题:我希望表格随着我向其添加行而增长。我不关心它的确切高度,只要它显示所有数据行,并随着我添加行而增长。我还希望表格始终在底部显示一些额外的空间。

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

  • 不要为表格调用 setHeight()
  • 我使用 setPageLength() 来按行定义表格高度——表格应该有多少行高。
  • 我对调整大小的元素调用了 requestRepaint()。如果我调整列元素的大小,我会在列元素上调用它。如果我调整表格的大小,我会在表格上调用它。

这是一个通用的代码示例,展示了我是如何解决这个问题的。我的代码并不完整,但它可能会帮助您入门。

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();
}
}

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

关于css - 设置 vaadin 表高度以适合内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12033478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com