package com.vaadin.tests.components.grid; import java.util.ArrayList; import java.util.List; import com.vaadin.annotations.Theme; import com.vaadin.annotations.Widgetset; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Grid; import com.vaadin.ui.renderers.ButtonRenderer; @Theme("valo") @Widgetset("com.vaadin.DefaultWidgetSet") public class HideGridColumnWhenHavingUnsuitableHeight extends AbstractTestUI { private Grid<SampleBean> grid; public static class SampleBean { private String col1; private String col2; public SampleBean() { } public String getCol1() { return col1; } public void setCol1(String col1) { this.col1 = col1; } public String getCol2() { return col2; } public void setCol2(String col2) { this.col2 = col2; } } @Override protected void setup(VaadinRequest vaadinRequest) { grid = new Grid<>(); grid.setItems(generateData(50)); grid.addColumn(SampleBean::getCol1).setWidth(1600); grid.addColumn(SampleBean::getCol2); grid.addColumn(t -> "Button1").setRenderer(new ButtonRenderer<>()); grid.getColumns().forEach(c -> c.setHidable(true)); grid.setWidth("100%"); grid.setHeight("425px"); addComponent(grid); } private List<SampleBean> generateData(int rows) { List<SampleBean> list = new ArrayList<>(); for (int y = 0; y < rows; ++y) { SampleBean sampleBean = new SampleBean(); sampleBean.setCol1("Row " + y + " Column 1"); sampleBean.setCol2("Row " + y + " Column 2"); list.add(sampleBean); } return list; } }