aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/grid/GridFrozenColumnReplace.java
blob: 7ddb35784ae4c75a0553c3838656fbb33ad06544 (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
43
44
package com.vaadin.tests.components.grid;

import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Button;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Grid.SelectionMode;

public class GridFrozenColumnReplace extends SimpleGridUI {

    @Override
    protected void setup(VaadinRequest request) {
        Grid<String> grid = new Grid<>();
        grid.addColumn(String::toString).setId("id1").setCaption("Frozen 1");
        grid.addColumn(String::toString).setId("id2").setCaption("Col 2");
        grid.setSelectionMode(SelectionMode.MULTI);
        grid.setFrozenColumnCount(1);

        Button button = new Button("Replace columns");
        button.addClickListener(e -> {
            grid.removeAllColumns(); // will change frozenColumnCount to 0

            grid.addColumn(String::toString).setId("id1")
                    .setCaption("New Frozen 1");
            grid.addColumn(String::toString).setId("id2")
                    .setCaption("New Frozen 2");
            grid.addColumn(String::toString).setId("id3")
                    .setCaption("New Col 3");
            grid.setFrozenColumnCount(2);
        });

        addComponents(grid, button);
    }

    @Override
    protected String getTestDescription() {
        return "It should be possible to remove and replace columns on same round trip "
                + "even if some of them are frozen.";
    }

    @Override
    protected Integer getTicketNumber() {
        return 11824;
    }
}