Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

GridRowDraggerTwoGridsBothWays.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Theme;
  3. import com.vaadin.annotations.Widgetset;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.shared.ui.dnd.DropEffect;
  6. import com.vaadin.tests.util.Person;
  7. import com.vaadin.ui.Grid;
  8. import com.vaadin.ui.HorizontalLayout;
  9. import com.vaadin.ui.Layout;
  10. import com.vaadin.ui.components.grid.GridRowDragger;
  11. @Theme("valo")
  12. @Widgetset("com.vaadin.DefaultWidgetSet")
  13. public class GridRowDraggerTwoGridsBothWays extends AbstractGridDnD {
  14. @Override
  15. protected void setup(VaadinRequest request) {
  16. getUI().setMobileHtml5DndEnabled(true);
  17. Grid<Person> left = createGridAndFillWithData(25);
  18. Grid<Person> right = createGridAndFillWithData(25);
  19. GridRowDragger<Person> leftToRight = new GridRowDragger<>(left, right);
  20. GridRowDragger<Person> rightToLeft = new GridRowDragger<>(right, left);
  21. leftToRight.getGridDragSource()
  22. .addDragStartListener(event -> rightToLeft.getGridDropTarget()
  23. .setDropEffect(DropEffect.NONE));
  24. leftToRight.getGridDragSource().addDragEndListener(
  25. event -> rightToLeft.getGridDropTarget().setDropEffect(null));
  26. rightToLeft.getGridDragSource()
  27. .addDragStartListener(event -> leftToRight.getGridDropTarget()
  28. .setDropEffect(DropEffect.NONE));
  29. rightToLeft.getGridDragSource().addDragEndListener(
  30. event -> leftToRight.getGridDropTarget().setDropEffect(null));
  31. Layout layout = new HorizontalLayout();
  32. layout.addComponent(left);
  33. layout.addComponent(right);
  34. layout.setWidth("100%");
  35. addComponent(layout);
  36. }
  37. }