salut pour tous,

J'ai un problème que j'ai pas trouvé une solution adéquate.
Je veux ouvrier une modelPanel à partir d'un MenuItem.
pour bien présenter le sujet voila ce que je traite :

j'ai une liste, le dernier colonne pour les actions , edit, show ...
les actions se présente dans un menu.

le code :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<rich:dropDownMenu id="actionButton" direction="top-left"
value="#{i18n.btn_actions}" styleClass="btnAction" jointPoint="tl">
 
<rich:menuItem value="Modifé valeaur"
  id="editMenuItem"
icon="#{a4jSkin.nameSkin}/images/edit16.png"
action="#{monBean.getSelectedObject}" >
<f:setPropertyActionListener value="#{item}"
	target="#{monBean.currentObject}" />
 
<rich:componentControl for="editPanel"
attachTo="editObjectMenuItem" operation="show" event="onclick"  />
</rich:menuItem>
puis dans le model panel j'utilise

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<h:inputText value="#{monBean.currentObject.id}" />
Avec ce code la solution qui marche jusqu'à maintenant c'est avec un action dans le bean je récupère l'id avec <f:param> du colonne sélectionnée puis je récupére l'objet dans l'action et pour afficher le model panel j'utilise l'attribut
showWhenRendered="#{monBean.flag}"
du model panel, qui est égale à true à l'exécution de l'action.

mais cette solution n'est pas professionnel, car l'action su MenuItem doit etre exécuter pour afficher le Modelpanel donc il y a relaod (Actualisation ) de la page web.
c'est pas le cas, car le model panel doit etre affichier dés le clic sur le menuItem.

1) J'ai utilisé avec oncomplete="javascript:Richfaces.showModalPanel('editPanel');"
et <f:setpropertyaction > le probleme c'est que les valeurs à editer ne s'affiche pas dans le model panel, car il faut qu'une action qui va etre executer pour passer les valeur avec <f:setpropertyaction >

2) Avec componentControle ne marche pas aussi, le probleme d'affichage du modelpanel il faut mettre l'attribut submitMode="none" pour afficher le model panel, donc aucune balise de passage de parametre ne marche, aussi aucun action.

Comment j'utilise <a4j:keepAlive beanName="nom_de_ton_bean" />

Est ce que avec cette balise j'en sort du problème.
--------------------------------------------------------------------
Si je garde la première solution c'est à dire utilisation de :

showWhenRendered="#{monBean.flag}"
du model panel qui est met le falg = true dans l'action de récupération de l'objet courant du menuItem.

Bon, à travers cette méthode , comment je peut rendre ce falg à false après la fermeture de modelPanel, car il devient true après l'action de menuItem pour qui'il s'affiche.
Mais le model panel s'affiche apès chaque action.(flag = True)

Comment je le passe à false après la fermeture du model panel ?

Merci d'avance.