Je voudrais utiliser un selectManyChekbox à l'intérieur d'un h:dataTable, le code suivant permet de faire l'affichage de ma page
la propriété optionIds en gras renvois une liste d'objets de type long et permet de stocker les identifiants de la classe Option. Au niveau du rendu html tout se passe bien, quand je sélectionne plus d'une Option(coche deux lignes) et fait appel à la méthode addActivite() codée comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <h:dataTable value="#{optionSupplementaireController.items}" var="item" border="0" cellpadding="2" cellspacing="0" rowClasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all" style="border:solid 1px"> <h:column> <f:facet name="header"> <h:outputText value=""/> </f:facet> <h:selectManyCheckbox value="#{optionSupplementaireController.optionIds}"> <f:selectItem itemValue="#{item.id}" itemLabel=""/> </h:selectManyCheckbox> </h:column>
Je me rend compte que la méthode getOptionIds() ne contient que un seul élément. Quelqu'un saurait me dire si j'ai oublié quelque chose dans l'utilisation des composants h:dataTable avec h:selectManyCheckbox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public String addActivites() { Activite activite = (Activite) JsfUtil.getSessionController("activiteController").getCurrent(); for (Iterator iter = getOptionIds().iterator(); iter.hasNext();) { OptionSupplementaire option = ejbFacade.find(new Long((String)iter.next())); option.addActivites(activite); } return "Activite"; }
Merci d'avance.
Partager