Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

GridSortIndicator.java 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.data.provider.GridSortOrder;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.shared.data.sort.SortDirection;
  6. import com.vaadin.tests.components.AbstractTestUI;
  7. import com.vaadin.tests.data.bean.Person;
  8. import com.vaadin.ui.Button;
  9. import com.vaadin.ui.Grid;
  10. import com.vaadin.ui.renderers.NumberRenderer;
  11. @Widgetset("com.vaadin.DefaultWidgetSet")
  12. public class GridSortIndicator extends AbstractTestUI {
  13. @Override
  14. protected void setup(VaadinRequest request) {
  15. final Grid<Person> grid = getGrid();
  16. addComponent(grid);
  17. addComponent(new Button("Sort first", event -> grid
  18. .sort(grid.getColumn("name"), SortDirection.ASCENDING)));
  19. addComponent(new Button("Sort both",
  20. event -> grid
  21. .setSortOrder(GridSortOrder.asc(grid.getColumn("name"))
  22. .thenAsc(grid.getColumn("age")))));
  23. }
  24. private final Grid<Person> getGrid() {
  25. Grid<Person> grid = new Grid<>();
  26. grid.addColumn(Person::getFirstName).setId("name");
  27. grid.addColumn(Person::getAge, new NumberRenderer()).setId("age");
  28. grid.setItems(createPerson("a", 4), createPerson("b", 5),
  29. createPerson("c", 3), createPerson("a", 6),
  30. createPerson("a", 2), createPerson("c", 7),
  31. createPerson("b", 1));
  32. return grid;
  33. }
  34. private Person createPerson(String name, int age) {
  35. Person person = new Person();
  36. person.setFirstName(name);
  37. person.setAge(age);
  38. return person;
  39. }
  40. @Override
  41. public String getTestDescription() {
  42. return "UI to test server-side sorting of grid columns "
  43. + "and displaying sort indicators";
  44. }
  45. @Override
  46. public Integer getTicketNumber() {
  47. return 17440;
  48. }
  49. }