<p:selectBooleanButton non rafraîchi
Hello les gens,
J'ai un souci avec un
Code:
<p:selectBooleanButton
J'aimerais le combiner avec un seulement voila ce composant n'implémente pas l’événement javascript "onclick" et il faut s'y prendre autrement pour simuler un comportement similaire:
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
| <h:body>
<h:form id="form">
<p:selectBooleanButton value="#{testBeanTwo.selectedOption}" onLabel="Yes" offLabel="No"
onIcon="ui-icon-check" offIcon="ui-icon-close">
<p:ajax listener="#{testBeanTwo.showDialog}" />
</p:selectBooleanButton>
</h:form>
<p:dialog id="test" widgetVar="testW" dynamic="true" modal="true" draggable="false">
<p:panelGrid columns="2">
<f:facet name="header">
Are you sure ?
</f:facet>
<p:commandButton value="Yes" actionListener="#{BeanClass.methodeYes}" />
<p:commandButton value="No" actionListener="#{BeanClass.methodeNo}" />
</p:panelGrid>
</p:dialog>
</h:body> |
avec mon managed bean à:
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 30 31 32
| private boolean selectedOption;
public BeanClass() {
}
public void showDialog() {
RequestContext context = RequestContext.getCurrentInstance();
context.execute("testW.show()");
}
public boolean isSelectedOption() {
return selectedOption;
}
public void setSelectedOption(boolean selectedOption) {
this.selectedOption = selectedOption;
}
public String methodeYes(ActionEvent actionEvent) {
setSelectedOption(true);
System.out.println("methodeYes");
return null;
}
public String methodeNo(ActionEvent actionEvent) {
setSelectedOption(false);
System.out.println("methodeNo");
return null;
} |
Le soucis c'est que:
1- Idéalement la valeur qu'affiche le bouton ne devrait changer qu'après avoir choisi sur le
Code:
<p:dialog id="test"
"Yes" ou "No" je ne vois pas comment réaliser cela.
2- Et c'est le plus embêtant. A mon sens, puisque mappé sur le booléen "selectedOption", le bouton devrait voir sa valeur affichée changée suivant ce que je fais sur les deux méthodes "methodeYes" et "methodeNo" or il n'en est rien. En somme comment changer programmatiquement la valeur qu'affiche le <p:selectBooleanButton ça ne devrait pas être automatique?
Merci pour toutes vos contributions.