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.

GridEditorEvents.java 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.data.Binder;
  3. import com.vaadin.data.Binder.Binding;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractTestUIWithLog;
  6. import com.vaadin.tests.data.bean.Person;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.Grid.Column;
  9. import com.vaadin.ui.TextField;
  10. /**
  11. * @author Vaadin Ltd
  12. *
  13. */
  14. public class GridEditorEvents extends AbstractTestUIWithLog {
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. Grid<Person> grid = new Grid<>();
  18. Person person1 = new Person();
  19. person1.setFirstName("");
  20. Person person2 = new Person();
  21. person2.setFirstName("foo");
  22. grid.setItems(person1, person2);
  23. Column<Person, String> column = grid.addColumn(Person::getFirstName);
  24. Binder<Person> binder = grid.getEditor().getBinder();
  25. grid.getEditor().setEnabled(true);
  26. TextField field = new TextField();
  27. Binding<Person, String> binding = binder.bind(field,
  28. Person::getFirstName, Person::setFirstName);
  29. column.setEditorBinding(binding);
  30. grid.getEditor().addOpenListener(event -> log("editor is opened"));
  31. grid.getEditor().addCancelListener(event -> log("editor is canceled"));
  32. grid.getEditor().addSaveListener(event -> log("editor is saved"));
  33. addComponent(grid);
  34. }
  35. }