Problème Richfaces -> contextMenu, dataTable, modelPanel
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 :
Code:
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> |
Comment puis-je faire passer mon utilisateur au formulaire?
J'ai essayer en faisant :
Code:
1 2 3 4
|
<rich:componentControl event="onRowClick" for="menu" operation="show">
<f:param value="#{user}" name="user"/>
</rich:componentControl> |
et
Code:
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> |
Mais ça transforme mon objet JAVA en objet JAVAScript et cela cause des erreurs. Je ne pense pas que ce soit la bonne solutions.