Bonjour la communauté
J'ai un soucis qui me tracasse depuis quelques temps déjà. J'utilise un modalPanel (richFaces).
J'ai 2 radios boutons qui devrait me permettre d'afficher des informations différentes quand l'un ou l'autre est coché.
Mon problème c'est que ça ne marche pas alors que ca devrait
Sur le radio bouton j'ai un listener qui met à jour la valeur des propriétés rendered des bloc à afficher. Ca ça marche.
la balise a4jsupport devrait mettre à jour l'affichage sur le clique mais ça ne marche pas, il faut un submit pour que l'affichage se fasse.
Si je mets un Onclick sur le radiobouton avec un submit du formulaire ça marche mais le modalPanel est fermé.
code du listener
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 <h:form id="frm_transfert"> <div > <div style="width:30%;float: left;text-align:left;"> <h:selectOneRadio id="checkTransfert" style="font: inherit;" valueChangeListener="#{infoChassisBean.evenementChoixTransfert}" value="#{infoChassisBean.radioValue}" layout="pageDirection" > <a4j:support event="onclick" reRender="panelSepare,panelInstalle"/> <f:selectItems value="#{infoChassisBean.choix}" /> </h:selectOneRadio> </div> <div style="width:70%;float: right;"> <h:panelGrid id="panelSepare" columns="2" style="font: inherit;" rendered="#{infoChassisBean.affBlocSepare}"> <h:outputText value="Transférer "/> <h:graphicImage value="/images/step-Forward.png"/> </h:panelGrid> <h:panelGrid id="panelInstalle" columns="3" style="font: inherit;" rendered="#{infoChassisBean.affBlocInstalle}"> <h:outputText value="Traveller systeme : "/> <h:inputText value=""/> <h:graphicImage value="/images/step-Forward.png"/> </h:panelGrid> </div> </div> </h:form>
Merci
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 public void evenementChoixTransfert(ValueChangeEvent evt) { final PhaseId phaseId = evt.getPhaseId(); final String newValue = (String) evt.getNewValue(); if (phaseId.equals(PhaseId.ANY_PHASE)) { evt.setPhaseId(PhaseId.UPDATE_MODEL_VALUES); evt.queue(); } else if (phaseId.equals(PhaseId.UPDATE_MODEL_VALUES)) { if(newValue.equals(INSTALLE)){ affBlocInstalle = true; affBlocSepare = false; }else if(newValue.equals(SEPARE)){ affBlocInstalle = false; affBlocSepare = true; } FacesContext.getCurrentInstance().renderResponse(); } }
Partager