如何选择表列-Vaadin 7中的所有复选框

如何选择表列-Vaadin 7中的所有复选框,vaadin,checkboxlist,selectall,Vaadin,Checkboxlist,Selectall,我得到了一个带有复选框的列,它是由列生成器生成的,如何将它们全部选中 谢谢。生成列时,请标记复选框 cb.setData("x"); 然后: Iterator Iterator=table.Iterator(); while(iterator.hasNext()){ 组件c=迭代器.next(); if(c instanceof AbstractField){ AbstractField af=(AbstractField)c; 如果(“x”.equals(af.getData())){ af

我得到了一个带有复选框的列,它是由列生成器生成的,如何将它们全部选中


谢谢。

生成列时,请标记复选框

cb.setData("x");
然后:

Iterator Iterator=table.Iterator();
while(iterator.hasNext()){
组件c=迭代器.next();
if(c instanceof AbstractField){
AbstractField af=(AbstractField)c;
如果(“x”.equals(af.getData())){
af.setValue(真);
}
}
}

(代码未经测试。)

生成列时,请标记复选框

cb.setData("x");
然后:

Iterator Iterator=table.Iterator();
while(iterator.hasNext()){
组件c=迭代器.next();
if(c instanceof AbstractField){
AbstractField af=(AbstractField)c;
如果(“x”.equals(af.getData())){
af.setValue(真);
}
}
}

(代码未经测试。)

以下是一个虚拟示例:

public class CheckBoxColumnGenerator implements Table.ColumnGenerator {

    @Override
    public Object generateCell(Table source, Object itemId, Object columnId) {
        Property<?> prop = source.getItem(itemId).getItemProperty(columnId);
        return new CheckBox(null, prop);
    }
}

...

Table table = new Table();
table.addContainerProperty("checkbox", Boolean.class, null);
table.addContainerProperty("label", String.class, null);
table.addItem(new Object[] { true, "row#1" }, 1);
table.addItem(new Object[] { false, "row#2" }, 2);
table.addItem(new Object[] { true, "row#3" }, 3);
table.addItem(new Object[] { false, "row#4" }, 4);
table.addGeneratedColumn("checkbox", new CheckBoxColumnGenerator());

下面是一个虚拟示例:

public class CheckBoxColumnGenerator implements Table.ColumnGenerator {

    @Override
    public Object generateCell(Table source, Object itemId, Object columnId) {
        Property<?> prop = source.getItem(itemId).getItemProperty(columnId);
        return new CheckBox(null, prop);
    }
}

...

Table table = new Table();
table.addContainerProperty("checkbox", Boolean.class, null);
table.addContainerProperty("label", String.class, null);
table.addItem(new Object[] { true, "row#1" }, 1);
table.addItem(new Object[] { false, "row#2" }, 2);
table.addItem(new Object[] { true, "row#3" }, 3);
table.addItem(new Object[] { false, "row#4" }, 4);
table.addGeneratedColumn("checkbox", new CheckBoxColumnGenerator());

我也试着使用JS,但这个dosent工作-raelly值dosent更改看起来像是假的:只是为了精确地回答这个问题-您希望在初始化表时或稍后(例如,由于用户交互等原因)检查它们吗?@PDave我也有同样的要求。需要在Vaadin表格的标题级别添加复选框。这将允许用户全部选择和全部取消选择。您是如何在标题级别添加复选框的?我也尝试使用JS,但这个选项有效-raelly值dosent的更改看起来像是假的:只是为了准确地回答这个问题-您希望在初始化表时或稍后(即,由于用户交互等原因)检查所有选项吗?@PDave我也有相同的要求。需要在Vaadin表格的标题级别添加复选框。这将允许用户全部选择和全部取消选择。您是如何在标题级别添加复选框的?