Salut,
Voilà j'ai mis un checkbox à chaque noeud d'un richfaces tree, j'ai aussi rajouté un valuechange listener pour récupérer la case cochée ou décochée.
J'arrive à récupérer la valeur exacte quand je coche mais lors du rerender de la page ça m'affiche l'ancienne valeur.
De plus lors du chargement de la page les cases sont toujours décochées quelquesoit le value :
Voici mon code jsp:
voici mon handler du checkbox:
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
30 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <f:view> <a4j:form id="formulaire"> <h:graphicImage value="../Images/RondBleu.gif" style="border:0;" /> <h:outputText value="#{EBEssai.arbre.data}" /> <rich:tree id="arbre" adviseNodeOpened="true" switchType="client" value="#{EBEssai.arbre}" var="node" > <rich:treeNode ajaxSingle="false" > <h:selectBooleanCheckbox id="noeud" value="true" valueChangeListener="#{EBEssai.handleValueChanged}" immediate="true" > <a4j:support event="onclick" reRender="formulaire"/> </h:selectBooleanCheckbox> <h:outputText value="#{node}" /> </rich:treeNode> </rich:tree> </a4j:form> </f:view> </body> </html>
ça me gene beaucoup que l'affichage ne suit pas les changement des cases
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void handleValueChanged(ValueChangeEvent event) { System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ new value "+event.getNewValue()+" id "+event.getComponent().getId()); HtmlSelectBooleanCheckbox caseàcocher =(HtmlSelectBooleanCheckbox) event.getComponent(); caseàcocher.setSelected(Boolean.valueOf(event.getNewValue().toString())); FacesContext.getCurrentInstance().renderResponse(); }
merci de m'aider
Partager