You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GridHeightByRow.java 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.data.provider.DataProvider;
  3. import com.vaadin.data.provider.ListDataProvider;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.shared.ui.grid.HeightMode;
  6. import com.vaadin.tests.components.AbstractTestUIWithLog;
  7. import com.vaadin.ui.Button;
  8. import com.vaadin.ui.Grid;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. public class GridHeightByRow extends AbstractTestUIWithLog {
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. List<String> data = new ArrayList<>();
  15. for (int i = 0; i < 10; i++)
  16. data.add("Data " + i);
  17. Grid<String> grid = new Grid<>();
  18. grid.addColumn(String::toString).setCaption("Test");
  19. ListDataProvider<String> provider = DataProvider.ofCollection(data);
  20. grid.setDataProvider(provider);
  21. grid.setHeightMode(HeightMode.UNDEFINED);
  22. grid.setRowHeight(50);
  23. Button addButton = new Button("Add Data");
  24. addButton.addClickListener(event -> {
  25. data.add("Data");
  26. grid.getDataProvider().refreshAll();
  27. });
  28. Button removeButton = new Button("Remove Data");
  29. removeButton.addClickListener(event -> {
  30. if (data.isEmpty())
  31. return;
  32. data.remove(0);
  33. grid.getDataProvider().refreshAll();
  34. });
  35. addComponents(addButton, removeButton, grid);
  36. }
  37. }