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.

GridRebindDataSourceV7.java 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.annotations.Widgetset;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.ui.Button;
  6. import com.vaadin.v7.data.util.IndexedContainer;
  7. import com.vaadin.v7.ui.Grid;
  8. @Widgetset("com.vaadin.v7.Vaadin7WidgetSet")
  9. public class GridRebindDataSourceV7 extends AbstractTestUI {
  10. private Grid grid;
  11. private IndexedContainer container = new IndexedContainer();
  12. @Override
  13. protected void setup(VaadinRequest request) {
  14. container.addContainerProperty("name", String.class, null);
  15. container.addItem("test").getItemProperty("name").setValue("test");
  16. grid = new Grid();
  17. grid.setContainerDataSource(container);
  18. grid.setEditorEnabled(true);
  19. addComponent(grid);
  20. Button button = new Button("Change container",
  21. new Button.ClickListener() {
  22. @Override
  23. public void buttonClick(Button.ClickEvent event) {
  24. IndexedContainer container = new IndexedContainer();
  25. container.addContainerProperty("age", Integer.class,
  26. null);
  27. container.addItem("first").getItemProperty("age")
  28. .setValue(45);
  29. grid.removeAllColumns();
  30. grid.setContainerDataSource(container);
  31. }
  32. });
  33. button.setId("changeContainer");
  34. addComponent(button);
  35. }
  36. }