gpt4 book ai didi

java - 瓦尔网格高度太大

转载 作者:行者123 更新时间:2023-12-01 09:45:04 24 4
gpt4 key购买 nike

我有一个 Vaadin (7.6.6) 网格来显示一些 java beans,它位于布局中

VerticalLayout layout = new VerticalLayout();
layout.setSpacing(true);
layout.setMargin(true);
List<Booster> boosters = new ArrayList<>();
boosters.add(creaBoost("e"));
boosters.add(creaBoost("f"));
boosters.add(creaBoost("g"));
Grid grid = new Grid();
grid.setContainerDataSource(new BeanItemContainer<>(Booster.class, boosters));
grid.setWidth("80%");
grid.setSelectionMode(SelectionMode.MULTI);
grid.removeColumn("ident");
layout.addComponent(grid);

Button button = new Button("Delete", FontAwesome.WARNING);
button.setStyleName(ValoTheme.BUTTON_DANGER);
layout.addComponent(button);

结果如下 enter image description here我就想知道,这个高度是从哪里来的?有没有办法减少它并只显示它需要的实际高度?

理想情况下,它考虑到不高于 X,这样如果网格中有更多元素,它就不会不断增长?

如何实现这一目标?

最佳答案

您可以使用以下函数(setHeightMode、setHeightByRows)通过解释网格元素的数量来定义高度,或将其设置为特定的可见行数。

    Grid myGrid = new Grid();
VerticalLayout test = new VerticalLayout();

Bill testBill = new Bill(23, "Test", "Products", 3, new Date(), new Date());
BeanItemContainer<Bill> testItemContainer = new BeanItemContainer<Bill>(Bill.class);

testItemContainer.addItem(testBill);

myGrid.setContainerDataSource(testItemContainer);
test.addComponent(myGrid);

myGrid.setHeightMode(HeightMode.ROW);
myGrid.setHeightByRows(testItemContainer.size());

关于java - 瓦尔网格高度太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38123324/

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