我正在尝试显示 Vaadin 框架的网格组件内的项目列表。默认情况下,网格的大小非常小。它没有显示所有列名称。我需要滚动才能看到所有列。我的网格只有 10 列。根据列表中的数据,它没有变化。
我尝试通过以下方法设置网格大小:
this.grid.setHeightByRows(list.size());
this.grid.setSizeUndefined();
this.grid.setSizeFull();
以上都无法根据数据设置大小
private Grid<PrevYearConsumption> 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;
}
View类内部
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);
}
}
最佳答案
你可以试试这个:
this.tableLayout.setSizeUndefined();
关于java - Vaadin 网格宽度和高度未根据数据动态设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283028/