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.

HeaderClick.java 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.vaadin.tests.components.table;
  2. import com.vaadin.data.Container;
  3. import com.vaadin.data.Item;
  4. import com.vaadin.data.Property;
  5. import com.vaadin.data.Property.ValueChangeEvent;
  6. import com.vaadin.data.util.IndexedContainer;
  7. import com.vaadin.server.VaadinRequest;
  8. import com.vaadin.tests.components.AbstractTestUI;
  9. import com.vaadin.ui.CheckBox;
  10. import com.vaadin.ui.Table;
  11. import com.vaadin.ui.Table.HeaderClickEvent;
  12. import com.vaadin.ui.TextField;
  13. public class HeaderClick extends AbstractTestUI {
  14. @Override
  15. protected void setup(VaadinRequest request) {
  16. final Table table = new Table();
  17. table.setColumnReorderingAllowed(true);
  18. table.setContainerDataSource(createContainer());
  19. table.setWidth("400px");
  20. table.setHeight("400px");
  21. table.setImmediate(true);
  22. final TextField columnField = new TextField(
  23. "ProperyId of clicked column");
  24. // Add a header click listener
  25. table.addHeaderClickListener(new Table.HeaderClickListener() {
  26. @Override
  27. public void headerClick(HeaderClickEvent event) {
  28. columnField.setValue(String.valueOf(event.getPropertyId()));
  29. }
  30. });
  31. CheckBox immediateCheckbox = new CheckBox("Immediate");
  32. immediateCheckbox.setImmediate(true);
  33. immediateCheckbox.setValue(table.isImmediate());
  34. immediateCheckbox
  35. .addValueChangeListener(new Property.ValueChangeListener() {
  36. @Override
  37. public void valueChange(ValueChangeEvent event) {
  38. table.setImmediate((Boolean) event.getProperty()
  39. .getValue());
  40. }
  41. });
  42. CheckBox sortEnabledCheckbox = new CheckBox("Sortable");
  43. sortEnabledCheckbox.setImmediate(true);
  44. sortEnabledCheckbox.setValue(table.isSortEnabled());
  45. sortEnabledCheckbox
  46. .addValueChangeListener(new Property.ValueChangeListener() {
  47. @Override
  48. public void valueChange(ValueChangeEvent event) {
  49. table.setSortEnabled((Boolean) event.getProperty()
  50. .getValue());
  51. }
  52. });
  53. CheckBox columnReorderingCheckbox = new CheckBox(
  54. "Column reordering allowed");
  55. columnReorderingCheckbox.setImmediate(true);
  56. columnReorderingCheckbox.setValue(table.isColumnReorderingAllowed());
  57. columnReorderingCheckbox
  58. .addValueChangeListener(new Property.ValueChangeListener() {
  59. @Override
  60. public void valueChange(ValueChangeEvent event) {
  61. table.setColumnReorderingAllowed((Boolean) event
  62. .getProperty().getValue());
  63. }
  64. });
  65. addComponent(immediateCheckbox);
  66. addComponent(sortEnabledCheckbox);
  67. addComponent(columnReorderingCheckbox);
  68. addComponent(table);
  69. addComponent(columnField);
  70. }
  71. @Override
  72. public String getDescription() {
  73. return "Tests the header click listener";
  74. }
  75. @Override
  76. protected Integer getTicketNumber() {
  77. return 4515;
  78. }
  79. private Container createContainer() {
  80. IndexedContainer container = new IndexedContainer();
  81. container.addContainerProperty("col1", String.class, "");
  82. container.addContainerProperty("col2", String.class, "");
  83. container.addContainerProperty("col3", String.class, "");
  84. for (int i = 0; i < 100; i++) {
  85. Item item = container.addItem("item " + i);
  86. item.getItemProperty("col1").setValue("first" + i);
  87. item.getItemProperty("col2").setValue("middle" + i);
  88. item.getItemProperty("col3").setValue("last" + i);
  89. }
  90. return container;
  91. }
  92. }