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.

BasicCrudGridEditorRow.java 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.vaadin.tests.fieldgroup;
  2. import java.text.DateFormat;
  3. import java.util.Locale;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.v7.data.Item;
  6. import com.vaadin.v7.data.util.BeanItem;
  7. import com.vaadin.v7.data.validator.IntegerRangeValidator;
  8. import com.vaadin.v7.ui.Grid;
  9. import com.vaadin.v7.ui.renderers.DateRenderer;
  10. public class BasicCrudGridEditorRow extends AbstractBasicCrud {
  11. private Grid grid;
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. super.setup(request);
  15. formType.setVisible(false);
  16. grid = new Grid();
  17. grid.setContainerDataSource(container);
  18. grid.setColumnOrder((Object[]) columns);
  19. grid.removeColumn("salary");
  20. grid.addSelectionListener(event -> {
  21. Item item = grid.getContainerDataSource()
  22. .getItem(grid.getSelectedRow());
  23. form.edit((BeanItem<ComplexPerson>) item);
  24. });
  25. grid.setEditorEnabled(true);
  26. grid.setSizeFull();
  27. grid.getColumn("age").getEditorField().addValidator(
  28. new IntegerRangeValidator("Must be between 0 and 100", 0, 100));
  29. grid.getColumn("birthDate").setRenderer(new DateRenderer(
  30. DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US)));
  31. addComponent(grid);
  32. getLayout().setExpandRatio(grid, 1);
  33. }
  34. @Override
  35. protected void deselectAll() {
  36. grid.select(null);
  37. }
  38. }