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!
Partager