Bonjour,
J'ai un petit soucis. J'ai créer un tableau contenant des renseignements sur des utilisateurs, dans ce tableau il y a une colonne spécial pour modifier la personne qui permet d'ouvrir un modalPanel et d'afficher un formulaire, cette exemple montre très bien le fonctionnement de mon tableau:
http://livedemo.exadel.com/richfaces...=editDataTable
Jusque la aucun problème. Maintenant ce que je voudrais faire, c'est supprimer ce lien et que l'utilisateur accède au modalPanel grâce à un contextMenu.
Rappel du contextMenu :
http://livedemo.exadel.com/richfaces...Menu&tab=usage
Le problème que j'ai maintenant c'est pour faire passer l'utilisateur associé à la ligne pour pré remplir le formulaire du modalPanel.
Voici mon code :
Comment puis-je faire passer mon utilisateur au formulaire?
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 <rich:contextMenu event="oncontextmenu" attachTo="usersTable" id="menu" submitMode="ajax"> <rich:menuItem ajaxSingle="true" value="Editer" onclick="Richfaces.showModalPanel('editUserPanel');"> </rich:menuItem> </rich:contextMenu> <rich:dataTable id="usersTable" onRowMouseOver="this.style.backgroundColor='#F1F1F1'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" cellpadding="0" cellspacing="0" width="400" border="0" value="#{usersDataTableBean.users}" var="user"> <!-- ici toutes les colonnes avec les informations concernant la personne --> <rich:componentControl event="onRowClick" for="menu" operation="show" /> </rich:dataTable> <rich:modalPanel id="editUserPanel" autosized="true" width="450"> <f:facet name="controls"> <h:graphicImage value="/pages/images/close.png" style="cursor:pointer" onclick="Richfaces.hideModalPanel('editUserPanel');"/> </f:facet> <!-- J'inclus mon formulaire --> <a4j:include viewId="/pages/userRegisterForm.xhtml" /> <a4j:commandButton action="#{usersFormBean.updateUser}" value="Modifier" /> </rich:modalPanel>
J'ai essayer en faisant :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <rich:componentControl event="onRowClick" for="menu" operation="show"> <f:param value="#{user}" name="user"/> </rich:componentControl>
Mais ça transforme mon objet JAVA en objet JAVAScript et cela cause des erreurs. Je ne pense pas que ce soit la bonne solutions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <rich:contextMenu event="oncontextmenu" attached="false" id="menu" submitMode="ajax"> <rich:menuItem ajaxSingle="true" value="Editer" onclick="Richfaces.showModalPanel('editUserPanel');"> <f:setPropertyActionListener value="#{user}" target="#{usersFormBean.user}" /> </rich:menuItem> </rich:contextMenu>
Partager