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.

ColumnWidthsAfterChangeTableColumnsCountOrOrder.java 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.vaadin.tests.components.table;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.vaadin.server.VaadinRequest;
  5. import com.vaadin.tests.components.AbstractReindeerTestUI;
  6. import com.vaadin.ui.Button;
  7. import com.vaadin.ui.VerticalLayout;
  8. import com.vaadin.v7.data.util.BeanItemContainer;
  9. import com.vaadin.v7.ui.Table;
  10. public class ColumnWidthsAfterChangeTableColumnsCountOrOrder
  11. extends AbstractReindeerTestUI {
  12. protected static final String BUTTON_CHANGE_ORDER_AND_WIDTH_ID = "buttonChangeOrderAndWidth";
  13. protected static final String BUTTON_CHANGE_COLUMN_COUNT_AND_WIDTH = "buttonChangeColumnCountAndWidth";
  14. protected static final int NEW_COLUMN_WIDTH = 17;
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. List<TestBean> beanList = new ArrayList<>();
  18. beanList.add(new TestBean(1, "name1", "descr1"));
  19. beanList.add(new TestBean(2, "name2", "descr2"));
  20. beanList.add(new TestBean(3, "name3", "descr3"));
  21. beanList.add(new TestBean(4, "name4", "descr4"));
  22. beanList.add(new TestBean(5, "name5", "descr5"));
  23. BeanItemContainer<TestBean> container = new BeanItemContainer<>(
  24. TestBean.class, beanList);
  25. VerticalLayout layout = new VerticalLayout();
  26. final Table table = new Table("Test Table");
  27. table.setContainerDataSource(container);
  28. table.setVisibleColumns(new Object[] { "id", "name", "descr" });
  29. layout.addComponent(table);
  30. Button buttonChangeOrderAndWidth = new Button("Change order and width",
  31. event -> {
  32. table.setVisibleColumns("name", "descr", "id");
  33. table.setColumnWidth("descr", NEW_COLUMN_WIDTH);
  34. });
  35. buttonChangeOrderAndWidth.setId(BUTTON_CHANGE_ORDER_AND_WIDTH_ID);
  36. Button buttonChangeColumnCountAndWidth = new Button(
  37. "Change columns count and width", event -> {
  38. table.setVisibleColumns(new Object[] { "name", "descr" });
  39. table.setColumnWidth("descr", NEW_COLUMN_WIDTH);
  40. });
  41. buttonChangeColumnCountAndWidth
  42. .setId(BUTTON_CHANGE_COLUMN_COUNT_AND_WIDTH);
  43. layout.addComponent(buttonChangeOrderAndWidth);
  44. layout.addComponent(buttonChangeColumnCountAndWidth);
  45. addComponents(layout);
  46. }
  47. public class TestBean {
  48. private int id;
  49. private String name;
  50. private String descr;
  51. public TestBean(int id, String name, String descr) {
  52. this.id = id;
  53. this.name = name;
  54. this.descr = descr;
  55. }
  56. public int getId() {
  57. return id;
  58. }
  59. public void setId(int id) {
  60. this.id = id;
  61. }
  62. public String getName() {
  63. return name;
  64. }
  65. public void setName(String name) {
  66. this.name = name;
  67. }
  68. public String getDescr() {
  69. return descr;
  70. }
  71. public void setDescr(String descr) {
  72. this.descr = descr;
  73. }
  74. @Override
  75. public String toString() {
  76. return "TestBean{" + "id=" + id + ", name='" + name + '\''
  77. + ", descr='" + descr + '\'' + '}';
  78. }
  79. }
  80. @Override
  81. protected String getTestDescription() {
  82. return "Tests that properties of columns are changed correctly after changing column's order/count";
  83. }
  84. @Override
  85. protected Integer getTicketNumber() {
  86. return 9781;
  87. }
  88. }