package com.vaadin.tests.components.treegrid; import com.vaadin.annotations.Widgetset; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.tests.data.bean.HierarchicalTestBean; import com.vaadin.ui.TreeGrid; @Widgetset("com.vaadin.DefaultWidgetSet") public class TreeGridScrolling extends AbstractTestUI { public static final int DEFAULT_NODES = 20; public static final int DEFAULT_DEPTH = 3; public static final String NODES_PARAMETER = "nodes"; public static final String DEPTH_PARAMETER = "depth"; @Override protected void setup(VaadinRequest request) { int depth = DEFAULT_DEPTH; if (request.getParameter(DEPTH_PARAMETER) != null) { depth = Integer.parseInt(request.getParameter(DEPTH_PARAMETER)); } int nodes = DEFAULT_NODES; if (request.getParameter(NODES_PARAMETER) != null) { nodes = Integer.parseInt(request.getParameter(NODES_PARAMETER)); } TreeGrid<HierarchicalTestBean> grid = new TreeGrid<>(); grid.setSizeFull(); grid.addColumn(HierarchicalTestBean::toString).setCaption("String") .setId("string"); grid.addColumn(HierarchicalTestBean::getDepth).setCaption("Depth") .setId(DEPTH_PARAMETER); grid.addColumn(HierarchicalTestBean::getIndex) .setCaption("Index on this depth").setId("index"); grid.setHierarchyColumn("string"); grid.setDataProvider(new LazyHierarchicalDataProvider(nodes, depth)); addComponent(grid); } }