package com.vaadin.tests.components.table; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Component; import com.vaadin.v7.data.util.IndexedContainer; import com.vaadin.v7.ui.Table; public class ColumnGeneratorAddingOrder extends TestBase { @Override protected Integer getTicketNumber() { return 2457; } @Override protected String getDescription() { return "Column generator must be allowed to be added both before and after data source setting and overriding should work. Bugs in 5.3-rc7 if added after DS."; } @Override protected void setup() { Table t = new Table(); t.addGeneratedColumn("col2", new Table.ColumnGenerator() { @Override public Component generateCell(Table source, Object itemId, Object columnId) { return new Button("generated b c2"); } }); IndexedContainer c = new IndexedContainer(); c.addContainerProperty("col1", String.class, "col1 ds data"); c.addContainerProperty("col2", String.class, "col2 ds data"); c.addContainerProperty("col3", String.class, "col3 ds data"); for (int i = 0; i < 100; i++) { c.addItem(); } t.setContainerDataSource(c); t.addGeneratedColumn("col1", new Table.ColumnGenerator() { @Override public Component generateCell(Table source, Object itemId, Object columnId) { return new Button("generated b c1"); } }); getLayout().addComponent(t); } }