Vaadin version is 8.10.1
Adding the addon:
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>grid-renderers-collection-addon</artifactId>
<version>2.7.0</version>
</dependency>
and in the grid defining the renderer like that:
CheckboxRenderer renderer = new CheckboxRenderer<>(Payment::setSelectedToMultiAction);
paymentGrid.addColumn(Payment::getSelectedToMultiAction)
.setRenderer(renderer)
.setCaption("Selection");
But the grid shown empty. With no error in Chrome's js console:
If we remove the renderere, everything is displayed.
CheckboxRenderer renderer = new CheckboxRenderer<>(Payment::setSelectedToMultiAction);
paymentGrid.addColumn(Payment::getSelectedToMultiAction)
// .setRenderer(renderer)
.setCaption("Selection");
The widget is handled during the vaadin-maven-plugin run:
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.version}</version>
<configuration>
<webappDirectory>${basedir}/resources/VAADIN/widgetsets</webappDirectory>
<hostedWebapp>${basedir}/resources/VAADIN/widgetsets</hostedWebapp>
</configuration>
<executions>
<execution>
<goals>
<!--<goal>clean</goal>
<goal>resources</goal>-->
<goal>update-theme</goal>
<goal>update-widgetset</goal>
<goal>compile-theme</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
I succeed with using ComponentRenderer
from Vaadin 8.1, not the CheckboxRenderer
from grid-renderers-collection-addon
paymentGrid.addComponentColumn(payment -> {
CheckBox multiselected = new CheckBox();
multiselected.addValueChangeListener(event -> {
payment.setSelectedToMultiAction(event.getValue());
if (event.getValue()) {
selectedPayments.add(payment);
} else {
selectedPayments.remove(payment);
}
showButtons();
});
return multiselected;
});