12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.vaadin.tests.components.grid;
-
- import java.util.ArrayList;
- import java.util.List;
-
- import com.vaadin.data.ValueProvider;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.tests.components.AbstractTestUI;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.Grid;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.TextField;
-
- public class GridScrollTo extends AbstractTestUI {
-
- @Override
- protected void setup(VaadinRequest request) {
- List<String> data = new ArrayList<>();
- for (int i = 0; i < 200; i++) {
- data.add("Name " + i);
- }
-
- Grid<String> grid = new Grid<>();
- grid.setItems(data);
-
- grid.setSelectionMode(Grid.SelectionMode.NONE);
-
- grid.addColumn(ValueProvider.identity()).setId("Name")
- .setCaption("Name");
-
- grid.setDetailsGenerator(item -> {
- final HorizontalLayout detailsLayout = new HorizontalLayout();
- detailsLayout.setWidth(100, Unit.PERCENTAGE);
- detailsLayout.setHeightUndefined();
-
- final Label lbl1 = new Label(item + " details");
- detailsLayout.addComponent(lbl1);
- return detailsLayout;
- });
-
- grid.addItemClickListener(event -> {
- final String itemId = event.getItem();
- grid.setDetailsVisible(itemId, !grid.isDetailsVisible(itemId));
- });
-
- Button scrollToTop = new Button("Scroll to top",
- clickEvent -> grid.scrollToStart());
- scrollToTop.setId("top");
-
- Button scrollToEnd = new Button("Scroll to end",
- clickEvent -> grid.scrollToEnd());
- scrollToEnd.setId("end");
-
- TextField rowField = new TextField("Target row");
- rowField.setId("row-field");
-
- Button scrollToRow = new Button("Scroll to row", clickEvent -> grid
- .scrollTo(Integer.parseInt(rowField.getValue())));
- scrollToRow.setId("row");
-
- addComponent(grid);
-
- addComponent(new HorizontalLayout(scrollToTop, scrollToEnd, rowField,
- scrollToRow));
- }
- }
|