我是Vaadin 7的新手。我遇到了vaadin表的问题。目前我的数据显示在vaadin表中,在该表中每行有一个按钮。当我单击该按钮时,我想在同一行中更改特定的单元格值。
Ex:连续我有两列“name”和“button”。当我点击按钮时,我希望在同一行中更改名称值。
在这里,我尝试了以上问题的示例代码:
Table table = new Table();
table.addContainerProperty("Name", String.class, null);
table.addContainerProperty("Click", Button.class, null);
for (int i=0; i<5; i++) {
Button bt_click = new Button("show");
bt_click.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
Notification.show("Trying");
}
});
table.addItem(new Object[] {"ABC"+i, bt_click },i);
}
之后当我点击一行按钮时,我发现如何更改按钮点击事件中的列名称值。
答案 0 :(得分:0)
您可以使用Button的数据字段存储项ID。它看起来像这样:
final Table table = new Table();
table.addContainerProperty("Name", String.class, null);
table.addContainerProperty("Click", Button.class, null);
for (int i=0; i<5; i++) {
final Button bt_click = new Button("show");
bt_click.setData(i);
bt_click.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
Item item = table.getItem(bt_click.getData());
item.getItemProperty("Name").setValue("New Name");
Notification.show("Trying");
}
});
table.addItem(new Object[] {"ABC"+i, bt_click },i);
}