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.

GridReorderMerged.java 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.vaadin.tests.components.grid;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUI;
  6. import com.vaadin.ui.Grid;
  7. import com.vaadin.ui.Grid.Column;
  8. import com.vaadin.ui.components.grid.HeaderRow;
  9. public class GridReorderMerged extends AbstractTestUI {
  10. @Override
  11. protected void setup(VaadinRequest request) {
  12. Grid<String> grid = new Grid<>();
  13. List<String> items = new ArrayList<>();
  14. HeaderRow headerRow = grid.prependHeaderRow();
  15. for (int i = 1; i < 10; ++i) {
  16. String propertyId = "" + i;
  17. Column<String, ?> column = grid
  18. .addColumn(item -> propertyId.equals(item) ? item : "")
  19. .setId(propertyId).setCaption(propertyId);
  20. column.setHidable(true);
  21. if (i == 5) {
  22. column.setHidden(true);
  23. }
  24. items.add(propertyId);
  25. }
  26. grid.setItems(items);
  27. headerRow.join("1", "2", "3").setText("1");
  28. headerRow.join("4", "5", "6").setText("2"); // middle column hidden
  29. headerRow.join("7", "8", "9").setText("3");
  30. grid.setColumnReorderingAllowed(true);
  31. addComponent(grid);
  32. }
  33. @Override
  34. protected String getTestDescription() {
  35. return "Reordering columns should respect joined cells "
  36. + "even when some columns are hidden.";
  37. }
  38. }