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.

GridWithoutRowsOrHeaders.java 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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.Button;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.Grid.SelectionMode;
  9. /**
  10. * There is no corresponding TB test as this problem can only be reproduced
  11. * using SuperDevMode.
  12. */
  13. public class GridWithoutRowsOrHeaders extends AbstractTestUI {
  14. private int counter = 0;
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. List<Integer> data = new ArrayList<>();
  18. Grid<Integer> grid = new Grid<>();
  19. grid.addColumn(Integer::valueOf).setCaption("ID").setId("id")
  20. .setMaximumWidth(50d);
  21. grid.addColumn(Integer::valueOf).setCaption("FOO").setId("foo")
  22. .setMinimumWidth(50d);
  23. grid.removeHeaderRow(grid.getHeaderRow(0));
  24. grid.setItems(data);
  25. grid.setSelectionMode(SelectionMode.NONE);
  26. grid.setWidth("250px");
  27. grid.setHeightByRows(3);
  28. addComponent(grid);
  29. addComponent(new Button("Add header row", e -> {
  30. grid.addHeaderRowAt(0);
  31. }));
  32. addComponent(new Button("Add body row", e -> {
  33. data.add(counter);
  34. ++counter;
  35. grid.getDataProvider().refreshAll();
  36. }));
  37. addComponent(new Button("Add footer row", e -> {
  38. grid.addFooterRowAt(0);
  39. }));
  40. }
  41. @Override
  42. protected String getTestDescription() {
  43. return "There should be no client-side assertion error from "
  44. + "adding the Grid without contents (requires SuperDevMode).";
  45. }
  46. @Override
  47. protected Integer getTicketNumber() {
  48. return 11557;
  49. }
  50. }