aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/grid/GridRebindDataSourceV7.java
blob: 28aec9c5963b3e12e02fa39971058a86718e1bd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.vaadin.tests.components.grid;

import com.vaadin.annotations.Widgetset;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.v7.data.util.IndexedContainer;
import com.vaadin.v7.ui.Grid;

@Widgetset("com.vaadin.v7.Vaadin7WidgetSet")
public class GridRebindDataSourceV7 extends AbstractTestUI {
    private Grid grid;
    private IndexedContainer container = new IndexedContainer();

    @Override
    protected void setup(VaadinRequest request) {
        container.addContainerProperty("name", String.class, null);
        container.addItem("test").getItemProperty("name").setValue("test");
        grid = new Grid();
        grid.setContainerDataSource(container);
        grid.setEditorEnabled(true);
        addComponent(grid);

        Button button = new Button("Change container",
                new Button.ClickListener() {

                    @Override
                    public void buttonClick(Button.ClickEvent event) {
                        IndexedContainer container = new IndexedContainer();
                        container.addContainerProperty("age", Integer.class,
                                null);
                        container.addItem("first").getItemProperty("age")
                                .setValue(45);
                        grid.removeAllColumns();
                        grid.setContainerDataSource(container);
                    }
                });
        button.setId("changeContainer");
        addComponent(button);
    }

}