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.

GridFrozenColumnNPE.java 1.5KB

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.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 GridFrozenColumnNPE 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. grid.setFrozenColumnCount(1);
  18. Button button = new Button("change frozen count");
  19. button.addClickListener(event -> {
  20. reInit();
  21. });
  22. getLayout().addComponent(button);
  23. }
  24. @Override
  25. protected List<Person> createPersons() {
  26. List<Person> persons = new ArrayList<>();
  27. for (int i = 0; i < 10; ++i) {
  28. Person person = new Person();
  29. person.setFirstName("First " + i);
  30. person.setLastName("Last" + i);
  31. person.setAge(i);
  32. persons.add(person);
  33. }
  34. return persons;
  35. }
  36. protected void init() {
  37. grid.addColumn(Person::getFirstName);
  38. grid.addColumn(Person::getLastName);
  39. grid.addColumn(Person::getAge, new NumberRenderer());
  40. grid.setItems(createPersons());
  41. grid.setFrozenColumnCount(1);
  42. grid.setFrozenColumnCount(2);
  43. }
  44. protected void reInit() {
  45. grid.removeAllColumns();
  46. init();
  47. }
  48. }