package com.vaadin.tests.components.table; import java.util.Random; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.v7.data.Item; import com.vaadin.v7.ui.Table; public class HiddenColumnsExpandRatios extends TestBase { @Override protected void setup() { final Table table = new Table(); table.setColumnCollapsingAllowed(true); table.setWidth("800px"); addComponent(table); table.addContainerProperty("foo", String.class, ""); table.addContainerProperty("bar", String.class, ""); table.addContainerProperty("baz", String.class, ""); table.addContainerProperty("asdf", String.class, ""); table.addContainerProperty("sdfg", String.class, ""); table.addContainerProperty("dfgh", String.class, ""); table.setColumnExpandRatio("bar", 1.0f); for (int i = 0; i < 10; i++) { Item item = table.addItem(i); item.getItemProperty("foo").setValue(genValue()); item.getItemProperty("bar").setValue(genValue()); item.getItemProperty("baz").setValue(genValue()); item.getItemProperty("asdf").setValue(genValue()); item.getItemProperty("sdfg").setValue(genValue()); item.getItemProperty("dfgh").setValue(genValue()); } addComponent(new Button("All", new ClickListener() { @Override public void buttonClick(ClickEvent event) { table.setVisibleColumns( table.getContainerPropertyIds().toArray()); } })); addComponent(new Button("Some", new ClickListener() { @Override public void buttonClick(ClickEvent event) { table.setWidth("100px"); table.setWidth("800px"); table.setVisibleColumns(new Object[] { "foo", "bar", "baz" }); } })); } private String genValue() { Random rnd = new Random(); StringBuffer str = new StringBuffer(""); String[] strings = new String[] { "foo", "bar", "baz" }; for (int i = 0; i < 5; i++) { str.append(strings[Math.abs(rnd.nextInt() % strings.length)]) .append(" "); } return str.toString(); } @Override protected String getDescription() { // TODO Auto-generated method stub return null; } @Override protected Integer getTicketNumber() { // TODO Auto-generated method stub return null; } }