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.

GridFrozenColumnReset.java 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.data.bean.Person;
  6. import com.vaadin.ui.Button;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.renderers.NumberRenderer;
  9. public class GridFrozenColumnReset extends SimpleGridUI {
  10. private Grid<Person> grid;
  11. @Override
  12. protected void setup(VaadinRequest request) {
  13. grid = new Grid<Person>();
  14. grid.setSizeFull();
  15. init();
  16. getLayout().addComponent(grid);
  17. Button button = new Button("change frozen count");
  18. button.addClickListener(event -> {
  19. reInit();
  20. });
  21. getLayout().addComponent(button);
  22. }
  23. @Override
  24. protected List<Person> createPersons() {
  25. List<Person> persons = new ArrayList<>();
  26. for (int i = 0; i < 10; ++i) {
  27. Person person = new Person();
  28. person.setFirstName("First " + i);
  29. person.setLastName("Last" + i);
  30. person.setAge(i);
  31. persons.add(person);
  32. }
  33. return persons;
  34. }
  35. protected void init() {
  36. grid.addColumn(Person::getFirstName);
  37. grid.addColumn(Person::getLastName);
  38. grid.addColumn(Person::getAge, new NumberRenderer());
  39. grid.setItems(createPersons());
  40. grid.setFrozenColumnCount(2);
  41. }
  42. protected void reInit() {
  43. grid.removeAllColumns();
  44. init();
  45. }
  46. }