使用vaadin表

时间:2016-09-21 08:22:32

标签: java vaadin7

我是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);
}

之后当我点击一行按钮时,我发现如何更改按钮点击事件中的列名称值。

1 个答案:

答案 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);
        }