我正在使用 vaadin 8.1.0 网格。我需要将复选框插入为一列,也作为列标题。当我单击列标题中的复选框时,应选中所有列复选框。那工作正常。但问题是,如果我有 100 行,当我检查标题复选框时,只会检查一些列复选框,即只检查显示的行。当我向下滚动时,未选中剩余行复选框。这是我的代码:
List<Person> people = new ArrayList();
for (int i = 0; i < 1000; i++) {
people.add(i, new Person("Galileo Galilei", 1564));
}
CheckBox CheckBox1 = new CheckBox("All");
CheckBox1.setValue(false);
Grid<Person> grid = new Grid<>();
grid.setItems( people);
grid.addColumn(Person::getName).setCaption("Name");
grid.addColumn(Person::getYear).setCaption("Year of birth").setId("1");
grid.addComponentColumn(Person -> {
CheckBox chk=new CheckBox("Chk 2");
CheckBox1.addValueChangeListener(e->
chk.setValue(CheckBox1.getValue())
);
return chk;
}).setCaption("ch2").setId("CH2");
grid.getHeaderRow(0).getCell("CH2").setComponent( CheckBox1);