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.

GridUI.java 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.vaadin.tests.elements.grid;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUI;
  6. import com.vaadin.ui.Grid;
  7. import com.vaadin.ui.Label;
  8. import com.vaadin.ui.components.grid.HeaderRow;
  9. public class GridUI extends AbstractTestUI {
  10. @Override
  11. protected void setup(VaadinRequest request) {
  12. int rowCount = 100;
  13. if (request.getParameter("rowCount") != null) {
  14. rowCount = Integer.parseInt(request.getParameter("rowCount"));
  15. }
  16. final Grid<Item> grid = new Grid<Item>();
  17. grid.setItems(getMockData(rowCount));
  18. Grid.Column<Item, String> column = grid.addColumn(Item::getFoo)
  19. .setCaption("foo");
  20. HeaderRow row = grid.addHeaderRowAt(1);
  21. row.getCell(column).setText("extra row");
  22. grid.addColumn(Item::getBar).setCaption("bar");
  23. grid.setDetailsGenerator(item -> {
  24. return new Label(
  25. "Foo = " + item.getFoo() + " Bar = " + item.getBar());
  26. });
  27. grid.addItemClickListener(event -> {
  28. if (event.getMouseEventDetails().isDoubleClick()) {
  29. grid.setDetailsVisible(event.getItem(),
  30. !grid.isDetailsVisible(event.getItem()));
  31. }
  32. });
  33. addComponent(grid);
  34. }
  35. private Collection<Item> getMockData(int rowCount) {
  36. Collection<Item> data = new ArrayList<Item>();
  37. for (int i = 0; i < rowCount; i++) {
  38. Item item = new Item("foo " + i, "bar " + i);
  39. data.add(item);
  40. }
  41. return data;
  42. }
  43. @Override
  44. protected String getTestDescription() {
  45. return "Test UI for Grid element API";
  46. }
  47. @Override
  48. protected Integer getTicketNumber() {
  49. return null;
  50. }
  51. private static class Item {
  52. private String foo;
  53. private String bar;
  54. public Item(String foo, String bar) {
  55. this.foo = foo;
  56. this.bar = bar;
  57. }
  58. public String getFoo() {
  59. return foo;
  60. }
  61. public String getBar() {
  62. return bar;
  63. }
  64. }
  65. }