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.

TreeGridHugeTree.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.vaadin.tests.components.treegrid;
  2. import com.vaadin.annotations.Theme;
  3. import com.vaadin.annotations.Widgetset;
  4. import com.vaadin.data.TreeData;
  5. import com.vaadin.data.provider.TreeDataProvider;
  6. import com.vaadin.server.VaadinRequest;
  7. import com.vaadin.tests.components.AbstractTestUI;
  8. import com.vaadin.ui.Button;
  9. import com.vaadin.ui.TreeGrid;
  10. @Theme("valo")
  11. @Widgetset("com.vaadin.DefaultWidgetSet")
  12. public class TreeGridHugeTree extends AbstractTestUI {
  13. private TreeGrid<String> treeGrid;
  14. private TreeDataProvider<String> inMemoryDataProvider;
  15. private void initializeDataProvider() {
  16. TreeData<String> data = new TreeData<>();
  17. for (int i = 0; i < 3; i++) {
  18. String granddad = "Granddad " + i;
  19. data.addItem(null, granddad);
  20. for (int j = 0; j < 3; j++) {
  21. String dad = "Dad " + i + "/" + j;
  22. data.addItem(granddad, dad);
  23. for (int k = 0; k < 300; k++) {
  24. String son = "Son " + i + "/" + j + "/" + k;
  25. data.addItem(dad, son);
  26. }
  27. }
  28. }
  29. inMemoryDataProvider = new TreeDataProvider<>(data);
  30. }
  31. @Override
  32. protected void setup(VaadinRequest request) {
  33. initializeDataProvider();
  34. treeGrid = new TreeGrid<>();
  35. treeGrid.setDataProvider(inMemoryDataProvider);
  36. treeGrid.setSizeFull();
  37. treeGrid.addColumn(String::toString).setCaption("String")
  38. .setId("string");
  39. treeGrid.addColumn((i) -> "--").setCaption("Nothing");
  40. treeGrid.setHierarchyColumn("string");
  41. treeGrid.setId("testComponent");
  42. Button expand = new Button("Expand Granddad 1");
  43. expand.addClickListener(event -> treeGrid.expand("Granddad 1"));
  44. Button collapse = new Button("Collapse Granddad 1");
  45. collapse.addClickListener(event -> treeGrid.collapse("Granddad 1"));
  46. addComponents(treeGrid, expand, collapse);
  47. }
  48. }