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.

CtrlShiftMultiselect.java 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.data.Container;
  3. import com.vaadin.data.Item;
  4. import com.vaadin.data.util.IndexedContainer;
  5. import com.vaadin.tests.components.TestBase;
  6. import com.vaadin.ui.Table;
  7. import com.vaadin.ui.Table.TableDragMode;
  8. @SuppressWarnings("serial")
  9. public class CtrlShiftMultiselect extends TestBase {
  10. @Override
  11. protected void setup() {
  12. final Table table = new Table("Multiselectable table");
  13. table.setContainerDataSource(createContainer());
  14. table.setImmediate(true);
  15. table.setSelectable(true);
  16. table.setMultiSelect(true);
  17. table.setDragMode(TableDragMode.MULTIROW);
  18. table.setWidth("400px");
  19. table.setHeight("400px");
  20. addComponent(table);
  21. }
  22. @Override
  23. protected String getDescription() {
  24. return "Improve Table multiselect to use Ctrl and Shift for selection";
  25. }
  26. @Override
  27. protected Integer getTicketNumber() {
  28. return 3520;
  29. }
  30. private Container createContainer() {
  31. IndexedContainer container = new IndexedContainer();
  32. container.addContainerProperty("col1", String.class, "");
  33. container.addContainerProperty("col2", String.class, "");
  34. container.addContainerProperty("col3", String.class, "");
  35. for (int i = 0; i < 100; i++) {
  36. Item item = container.addItem("item " + i);
  37. item.getItemProperty("col1").setValue("first" + i);
  38. item.getItemProperty("col2").setValue("middle" + i);
  39. item.getItemProperty("col3").setValue("last" + i);
  40. }
  41. return container;
  42. }
  43. }