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.

TableToggleColumnVisibilityWidth.java 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.server.VaadinRequest;
  3. import com.vaadin.tests.components.AbstractReindeerTestUI;
  4. import com.vaadin.ui.Button;
  5. import com.vaadin.ui.Button.ClickEvent;
  6. import com.vaadin.ui.Button.ClickListener;
  7. import com.vaadin.ui.VerticalLayout;
  8. import com.vaadin.v7.ui.Table;
  9. /**
  10. * Test that column width is restored after restoring column visibility
  11. */
  12. @SuppressWarnings("serial")
  13. public class TableToggleColumnVisibilityWidth extends AbstractReindeerTestUI {
  14. @Override
  15. protected void setup(VaadinRequest request) {
  16. VerticalLayout layout = new VerticalLayout();
  17. final Table table = new Table();
  18. table.addContainerProperty("Name", String.class, "");
  19. table.addContainerProperty("Last Name", String.class, "");
  20. table.setColumnWidth("Name", 100);
  21. table.setColumnWidth("Last Name", 200);
  22. table.setHeight("200px");
  23. table.addItem(new Object[] { "Adam", "Morrison" }, new Integer(1));
  24. table.addItem(new Object[] { "Eva", "Roberts" }, new Integer(2));
  25. table.addItem(new Object[] { "Rob", "Spears" }, new Integer(3));
  26. table.addItem(new Object[] { "Bob", "Michigan" }, new Integer(4));
  27. table.setVisibleColumns(new Object[] { "Name", "Last Name" });
  28. final Button infoToggler = new Button("visibility");
  29. infoToggler.setId("toggler");
  30. infoToggler.addClickListener(new ClickListener() {
  31. private boolean detailed = true;
  32. @Override
  33. public void buttonClick(ClickEvent event) {
  34. if (detailed) {
  35. table.setVisibleColumns("Name");
  36. } else {
  37. table.setVisibleColumns("Name", "Last Name");
  38. }
  39. detailed = !detailed;
  40. }
  41. });
  42. layout.addComponent(table);
  43. layout.addComponent(infoToggler);
  44. addComponent(layout);
  45. }
  46. @Override
  47. protected String getTestDescription() {
  48. return "Toggling visibility of table columns should not change the width of fixed sized columns";
  49. }
  50. @Override
  51. protected Integer getTicketNumber() {
  52. return 12303;
  53. }
  54. }