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.

GridCheckBoxDisplay.java 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.vaadin.tests.components.grid;
  2. import java.io.Serializable;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import com.vaadin.data.Binder;
  6. import com.vaadin.data.Binder.Binding;
  7. import com.vaadin.server.VaadinRequest;
  8. import com.vaadin.tests.components.AbstractReindeerTestUI;
  9. import com.vaadin.ui.CheckBox;
  10. import com.vaadin.ui.Grid;
  11. import com.vaadin.ui.Grid.Column;
  12. import com.vaadin.ui.TextField;
  13. public class GridCheckBoxDisplay extends AbstractReindeerTestUI {
  14. private static final long serialVersionUID = -5575892909354637168L;
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. List<Todo> items = Arrays.asList(new Todo("Done task", true),
  18. new Todo("Not done", false));
  19. Grid<Todo> grid = new Grid<>();
  20. grid.setSizeFull();
  21. TextField taskField = new TextField();
  22. CheckBox doneField = new CheckBox();
  23. Binder<Todo> binder = grid.getEditor().getBinder();
  24. Binding<Todo, Boolean> doneBinding = binder.bind(doneField,
  25. Todo::isDone, Todo::setDone);
  26. Column<Todo, String> column = grid
  27. .addColumn(todo -> String.valueOf(todo.isDone()));
  28. column.setWidth(75);
  29. column.setEditorBinding(doneBinding);
  30. grid.addColumn(Todo::getTask).setExpandRatio(1)
  31. .setEditorComponent(taskField, Todo::setTask);
  32. grid.getEditor().setEnabled(true);
  33. grid.setSelectionMode(Grid.SelectionMode.SINGLE);
  34. grid.setItems(items);
  35. getLayout().addComponent(grid);
  36. getLayout().setExpandRatio(grid, 1);
  37. }
  38. @Override
  39. protected Integer getTicketNumber() {
  40. return 16976;
  41. }
  42. @Override
  43. protected String getTestDescription() {
  44. return "Verify that checkbox state is correct for all items in editor";
  45. }
  46. public class Todo implements Serializable {
  47. private static final long serialVersionUID = -5961103142478316018L;
  48. private boolean done;
  49. private String task = "";
  50. public Todo(String task, boolean done) {
  51. this.task = task;
  52. this.done = done;
  53. }
  54. public boolean isDone() {
  55. return done;
  56. }
  57. public void setDone(boolean done) {
  58. this.done = done;
  59. }
  60. public String getTask() {
  61. return task;
  62. }
  63. public void setTask(String task) {
  64. this.task = task;
  65. }
  66. }
  67. }