Hello,

J'ai lu le tutorial d'introduction au JSF disponible ici

Dans le chapitre 8, il y a une partie que je n'ai pas bien comprise.
Le code se trouve exactement au paragraphe 8.2 lorsque l'on ajoute le

Code jsf : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<html:column>
<html:selectBooleanCheckbox binding="#{bank.checkbox}"/>
</html:column>

On ajoute au ManagedBean Bank un UIComponent représentant la nouvelle checkBox et on ajoute la méthode suivante :

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public void removeSelectedCustomers(){
 int size = this.dataTable.getRowCount();
 List selectedCustomers = new ArrayList();
 for(int i=0; i < size; i++){
   this.dataTable.setRowIndex(i); (1)
   if(this.checkbox.isSelected()){ (2)
     selectedCustomers.add(this.customers.get(i));
   }
}
this.customers.removeAll(selectedCustomers);
}

A la ligne (1), on positionne la ligne courante dans le datatable (là pas de soucis)
A la ligne (2), on verifie que cette ligne est cochée, et c'est la que je ne comprend pas le mécanisme. En ce qui concerne le composant représentant la checkbox il n'y a pas d'utilisation de l'index de ligne.
Comment JSF fait le lien entre la ligne datatable et le checkBox?

Merci d'avance pour votre aide!