Bonjour à tous,
Je développe actuellement une application avec JSF 2 et Primefaces 3.2.
Dans l'une de mes pages, j'ai ce morceau de code :
Sur ma page j'ai donc par exemple plusieurs tableaux de plusieurs lignes générés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <ui:repeat value="#{list}" var="objet" varStatus="status"> <p:dataTable id="data#{status.id}" ...> ... <p:rowExpansion> ... </p:rowExpansion> </p:dataTable> </ui:repeat>
Lorsqu'un seul tableau est généré, je n'ai aucun soucis particulier, les <p:rowExpansion> marchent sans soucis. Mais lorsque j'ai par exemple 2 tableaux, c'est la catastrophe. les <p:rowExpansion> du second tableau sont en fait un <p:rowExpansion> du premier tableau...
Je pense que c'est un problème d'identifiant. En effet, les identifiants qui sont générés automatiquement par PrimeFaces sont les mêmes pour mes 2 tableaux.
J'aimerais donc pouvoir géré dynamiquement les identifiants de mes dataTables, mais je n'y arrive absolument pas.
Par exemple avec le code suivant tous les dataTables ont l'id "data" :
Avec le code suivant, j'obtiens une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <ui:repeat value="#{list}" var="objet" varStatus="status"> <p:dataTable id="data#{status.index}" ...> </p:dataTable> </ui:repeat>
Voici l'erreur : java.lang.IllegalArgumentException: Empty id attribute is not allowed
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <ui:repeat value="#{list}" var="objet" varStatus="status"> <p:dataTable id="#{status.index}" ...> </p:dataTable> </ui:repeat>
Comment peut-on générer dynamiquement un identifiant ?
Merci d'avance pour votre aide !
Partager