Grid Vaadin Bug !

Dear All,

Has I can’t add new ticket I post this.

To reproduce the problem just create a grid and in the row detail add a new grid with at least 1 column set to hidable.
Then you see that all column after the hidable column is missing in the child grid.
" Seems that Header and footer is not working too "

Thank to create a new Ticket for those have the right.

Regards

Grid gd = new Grid();
gd.setWidth(“100%”);
gd.addHeaderRowAt(0);
gd.addColumn(“Column 1”,String.class);
gd.addColumn(“Column 2”,String.class);
gd.addColumn(“Column 3”,String.class).setHidable(true);
gd.addColumn(“Column 4”,String.class);
gd.addColumn(“id”,Integer.class);
gd.addRow(“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”,“Nicolaus Copernicus”, 1543);

25827.png
25828.png

Hi,

Which version of Vaadin are you using? I couldn’t reproduce the issue. Can you try with the lates Vaadin version (7.6.6)?

cheers,
matti

Hi Matti,

Yes with the last version 7.6.6.

Regards

Hmm, what could we do to reproduce the issue? Which browser are you using? Which operating system? Do you see some errors if you run the application with “?debug” query parameter?

cheers,
matti

Hi,

I got the issue reproduced using the following code

[code]
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);

    Grid fg = new Grid();
    fg.setSizeFull();
    fg.addColumn("col1", String.class);
    fg.addColumn("col2", String.class);
    fg.addRow("Temp 1", "Temp 2");
    fg.addRow("Temp 3", "Temp 4");
    fg.setDetailsGenerator(new Grid.DetailsGenerator() {
        @Override
        public Component getDetails(RowReference rowReference) {
            Grid gd = new Grid();
            gd.setSizeFull();
            gd.addHeaderRowAt(0);
            gd.addColumn("Column 1", String.class);
            gd.addColumn("Column 2", String.class);

gd.getColumn(“Column 2”).setHidable(true);
gd.addColumn(“Column 3”, String.class);
gd.addColumn(“Column 4”, String.class);
gd.addColumn(“id”, Integer.class);
gd.addRow(“Nicolaus Copernicus”, “Nicolaus Copernicus”,
“Nicolaus Copernicus”, “Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”, “Nicolaus Copernicus”,
“Nicolaus Copernicus”, “Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”, “Nicolaus Copernicus”,
“Nicolaus Copernicus”, “Nicolaus Copernicus”, 1543);
gd.addRow(“Nicolaus Copernicus”, “Nicolaus Copernicus”,
“Nicolaus Copernicus”, “Nicolaus Copernicus”, 1543);

            gd.getColumn("Column 2").setHidable(true);
            return gd;
        }
    });

    fg.addItemClickListener(new ItemClickListener() {
        @Override
        public void itemClick(ItemClickEvent event) {
            if (event.isDoubleClick()) {
                Object itemId = event.getItemId();
                fg.setDetailsVisible(itemId, !fg.isDetailsVisible(itemId));
            }
        }
    });

    layout.addComponent(fg);

    Grid gd = new Grid();
    gd.setSizeFull();
    gd.addHeaderRowAt(0);
    gd.addColumn("Column 1", String.class);
    gd.addColumn("Column 2", String.class);
    gd.getColumn("Column 2").setHidable(true);
    gd.addColumn("Column 3", String.class);
    gd.addColumn("Column 4", String.class);
    gd.addColumn("id", Integer.class);
    gd.addRow("Nicolaus Copernicus", "Nicolaus Copernicus",
            "Nicolaus Copernicus", "Nicolaus Copernicus", 1543);
    gd.addRow("Nicolaus Copernicus", "Nicolaus Copernicus",
            "Nicolaus Copernicus", "Nicolaus Copernicus", 1543);
    gd.addRow("Nicolaus Copernicus", "Nicolaus Copernicus",
            "Nicolaus Copernicus", "Nicolaus Copernicus", 1543);
    gd.addRow("Nicolaus Copernicus", "Nicolaus Copernicus",
            "Nicolaus Copernicus", "Nicolaus Copernicus", 1543);

    layout.addComponent(gd);

[/code]As you can see I added the grid both as row details in another grid and as a ‘normal’ grid at the bottom. I am also using the latest version of Vaadin 7.6.6.

Now got it reproduced! I created a ticket about this:

https://dev.vaadin.com/ticket/19856#ticket

Subscribe that to get notified when it is fixed.

BTW. Just create an account to dev.vaadin.com and you can add new tickets, it shouldn’t require any special rights.

cheers,
matti

Hi Matti,

Thank you for your help.

Regards