我正在寻找一种向 vaadin 表动态添加列的方法。
我尝试过这个:
private Button createAddColumnButton() {
Button addProductButton = new Button("Add column");
addProductButton.addClickListener(new ClickListener() {
public void buttonClick(ClickEvent event) {
count = count++;
table.addGeneratedColumn("Column "+count, new ColumnGenerator() {
@Override
public Object generateCell(final Table source, Object itemId, Object columnId) {
String x = "some stuff";
return x;
}
});
}
});
return addProductButton;
}
此按钮允许我动态添加一列,但只有一列,然后我收到一条错误消息,指出我不能拥有具有相同 ID 的两列。如何更改 ID 使其唯一并添加大量列?
最佳答案
TL;DR
只需将代码更改为:
count = count + 1;
说明
那是因为分配
count = count++;
不按您期望的方式工作。看一下下面的代码:
public class HelloStackOverflow {
public static void main(String[] args) {
int count = 0;
count = count++;
System.out.println(count);
}
}
这会在标准输出 0 上打印。如果您将代码更改为:
,您甚至会收到警告(对变量计数的分配无效)count = ++count;
您可以找到更好的解释here .
关于java - 动态添加表格列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27376820/