Bonjour à tous
voila, j’espère que quelqu'un pourra m'aider car je galère sur un problème depuis deux jours et je n'ai trouvé aucune solution sur le net
j'utilise un dataGrid Primefaces pour afficher une liste
un command button permet ensuite d'afficher une boite dialog pour afficher le detail d'un des éléments de la liste
Le problème est que la boite dialog s'ouvre bien mais que aucun attributs de l'élement selectionné n'apparait
Concretement j'ai recopié le code sur le site de primefaces :
http://www.primefaces.org/showcase/ui/datagrid.jsf
Voici mon code
la page xhtml :
et mon bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <ui:define name="contenu"> <h:form id="form_liste_recette"> <p:dataGrid var="recette" value="#{affichageRecettesManager.listeRecettes}" columns="3" rows="12" paginator="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="9,12,15"> <p:panel header="#{recette.identifiant}" style="text-align:center"> <h:panelGrid columns="1" style="width:100%"> <p:graphicImage value="../resources/images/1.jpg" height="100"/> <h:outputText value="#{recette.nom}" /> <p:commandLink update=":form_liste_recette:recetteDetail" oncomplete="recetteDialog.show()" title="View Detail" > <h:outputText styleClass="ui-icon ui-icon-search" style="margin:0 auto;" /> <f:setPropertyActionListener value="#{recette}" target="#{affichageRecettesManager.recetteSelectionne}" /> </p:commandLink> </h:panelGrid> </p:panel> </p:dataGrid> <p:dialog header="Recette detail" widgetVar="recetteDialog" modal="true" dynamic="true"> <p:outputPanel id="recetteDetail" style="text-align:center;"> <p:graphicImage value="../resources/images/1.jpg"/> <h:panelGrid columns="2" cellpadding="5"> <h:outputLabel for="identifiant" value="Identifiant: " /> <h:outputText id="identifiant" value="#{affichageRecettesManager.recetteSelectionne.identifiant}" /> <h:outputLabel for="nom" value="Nom : " /> <h:outputText id="nom" value="#{affichageRecettesManager.recetteSelectionne.nom}" /> <h:outputLabel for="categ" value="Catégorie : " /> <h:outputText id="categ" value="#{affichageRecettesManager.recetteSelectionne.categorie}" /> </h:panelGrid> </p:outputPanel> </p:dialog> </h:form> </ui:define>
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 @Named @SessionScoped public class AffichageRecettesManager implements Serializable { //Attributs private List<Recette> listeRecettes; private Recette recetteSelectionne; @EJB private RecetteDAO recetteDao; private UIComponent table; //Constructeurs public AffichageRecettesManager() { listeRecettes = new ArrayList<Recette>(); } //Setters public void setListeRecettes(List<Recette> listeRecettes) { this.listeRecettes = listeRecettes; } public void setRecetteDao(RecetteDAO recetteDao) { this.recetteDao = recetteDao; } public void setRecetteSelectionne(Recette recetteSelectionne) { this.recetteSelectionne = recetteSelectionne; } public void setTable(UIComponent table) { this.table = table; } //Getters public List<Recette> getListeRecettes() { return listeRecettes; } public Recette getRecetteSelectionne() { return recetteSelectionne; } public UIComponent getTable() { return table; } //Methodes @PostConstruct public void myInitMethod() { this.listeRecettes = recetteDao.findAll(); }
Partager