Vaadin网格宽度和高度未根据数据动态设置

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

我正在尝试在Vaadin框架的网格组件内显示项目列表。默认情况下,网格的尺寸非常小。它没有显示所有列名。我需要滚动才能看到所有列。我的网格只有10列。它不会根据列表中的数据进行更改。

我试图通过以下方法设置网格的大小。1. this.grid.setHeightByRows(list.size());2. this.grid.setSizeUndefined();3. this.grid.setSizeFull();

上述ID的其中一个不能根据数据设置大小

专用网格createGridTable(){

    Grid<PrevYearConsumption> grid = new Grid<PrevYearConsumption>();
    grid.addColumn(PrevYearConsumption::getPreviousPeriod).setCaption(PrevYearConstants.PREVIOUS_PERIOD);
    grid.addColumn(PrevYearConsumption::getPresentReading).setCaption("Prev Elec");
    grid.addColumn(PrevYearConsumption::getPreviousDataComplete)
            .setCaption(PrevYearConstants.PREVIOUS_DATA_COMPLETE);
    grid.addColumn(PrevYearConsumption::getPreviousDq).setCaption(PrevYearConstants.PREVIOUS_DQ);
    grid.addColumn(PrevYearConsumption::getPresentPeriod).setCaption(PrevYearConstants.PRESENT_PERIOD);
    grid.addColumn(PrevYearConsumption::getPresentReading).setCaption("Present Elec");
    grid.addColumn(PrevYearConsumption::getPresentDataComplete).setCaption(PrevYearConstants.PRESENT_DATA_COMPLETE);
    grid.addColumn(PrevYearConsumption::getPresentDq).setCaption(PrevYearConstants.PRESENT_DQ);
    grid.addColumn(PrevYearConsumption::getDiff).setCaption(PrevYearConstants.DIFFERENCE);
    grid.addColumn(PrevYearConsumption::getPercentageChange).setCaption(PrevYearConstants.PERCENTAGE);
    grid.setSizeUndefined();
    return grid;
}

内部视图类

enter code here
public class viewClass{
  private HorizontalLayout tableLayout = new HorizontalLayout();

  public void method ()
   {
   this.grid = createGridTable();
       this.tableLayout.setSizeFull();
 this.tableLayout.addComponent(this.grid);
 List<PrevYearConsumption> list = getList();
 this.grid.setItems(list);
      }

 }
vaadin vaadin-grid
1个回答
0
投票

将网格的HeightMode更改为HeightMode.UNDEFINED

 grid.setHeightMode(HeightMode.UNDEFINED);

Enum HeightMode

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