当我手动添加table.addContainerProperty(所有这些)时,它会起作用,添加我要求的所有项目。
当我使用for来创建table.addContainerProperty时,我无法使用我的按钮添加值,或者使用for来添加我的所有值。
为什么呢?我在任何地方都找不到......
package br.com.Metrics;
import com.vaadin.Application; import
com.vaadin.ui.Button; import
com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Table; import
com.vaadin.ui.Window;
import br.com.cflex.table.*;
/** * The Application's "main" class
*/ @SuppressWarnings("serial") public class MyVaadinApplication extends Application {
private Window window;
private Table table;
@Override
public void init()
{
window = new Window("My Vaadin Application");
table = new Table("Teste de tabela");
table.addItem();
table.addContainerProperty("Nome", String.class, null);
for(int i=0; i<10;i++){
table.addContainerProperty(i,Integer.class, null);
table.addItem(new Object[] {"2",new Integer(159),new Integer(1473)}, null);
}
for(int i=0; i<10; i++){
table.addItem(new Object[] {"3",new Integer(159),new Integer(1473)}, null);
}
table.addItem(new Object[] {"4",new Integer(159),new Integer(1473)}, null);
Button button = new Button("Press Me !");
button.addListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
table.addItem(new Object[] {"Nicolaus",new Integer(159),new Integer(1473)}, null);
}
});
window.addComponent(table);
window.addComponent(button);
setMainWindow(window);
}
}
答案 0 :(得分:3)
我发现了为什么......
使用.addItem在表格中插入数据时,必须为此方法提供的数组必须与表格列具有完全相同的数量。
否则它不会添加或告诉你。