Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

GridItemSetChange.java 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.vaadin.tests.components.grid;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.vaadin.data.provider.DataProvider;
  5. import com.vaadin.data.provider.ListDataProvider;
  6. import com.vaadin.server.VaadinRequest;
  7. import com.vaadin.tests.components.AbstractReindeerTestUI;
  8. import com.vaadin.tests.util.Person;
  9. import com.vaadin.ui.Button;
  10. import com.vaadin.ui.Grid;
  11. public class GridItemSetChange extends AbstractReindeerTestUI {
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. Grid<Person> grid = new Grid<>();
  15. grid.addColumn(Person::getFirstName);
  16. grid.addColumn(Person::getLastName);
  17. List<Person> persons = new ArrayList<>();
  18. Person person = new Person();
  19. person.setFirstName("Foo");
  20. person.setLastName("Bar");
  21. persons.add(person);
  22. ListDataProvider<Person> provider = DataProvider.ofCollection(persons);
  23. grid.setDataProvider(provider);
  24. addComponent(grid);
  25. addComponent(new Button("Reset", event -> {
  26. persons.clear();
  27. person.setLastName("Baz");
  28. persons.add(person);
  29. provider.refreshAll();
  30. }));
  31. addComponent(new Button("Modify", event -> {
  32. person.setLastName("Spam");
  33. provider.refreshItem(person);
  34. }));
  35. }
  36. }