Bonjour,
voici le contexte :
Sur ma page j'ai un datatable qui contient X vallées, il y a 1 vallée par page de mon tableau.
Juste au dessus de ce tableau, j'ai un outputLabel qui contient le nom de la vallée courante.
Pour se faire, je passe dans le scope, la liste des vallées et au chargement de la page, je met dans mon label, la premiere de cette liste.
Le but etant, lorsque je change de page via mon datascroller, mettre à jour mon label en lui attribuant la valeur de malistevallees[numPage].
Voici le code de ma page :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <ui:param name="currentVallee" value="#{firstVallee}" /> <h:form id="resultsVallee" > <h:outputLabel id="selectedVallee" value="#{currentVallee}" style="display:block;width:100%;text-align:center;font-size:14px;font-weight:bold;"/><br/> <rich:dataTable cellpadding="0" style="width:100%;text-align:center" rendered="#{listeSelectedVallees != null}" value="#{listeSelectedVallees}" var="liste" id="myTabVallee" rows="14" rowKeyVar="rkvar" > <!-- facet --> <f:facet name="header"> <rich:columnGroup> <rich:column width="100px" style="text-align:center"> <h:outputText value="#{msg['parc.hydro.marge.periode']}" /> </rich:column> <rich:column id="MargeTotale" label="MargeTotale" width="150px" style="text-align:center"> <h:outputText value="#{msg['parc.hydro.marge.totale']}" /> </rich:column> <rich:column id="puissanceTotaleMob" label="#{msg['parc.hydro.marge.puissance.totale.mobilisable']}" width="150px" style="text-align:center"> <h:outputText value="#{msg['parc.hydro.marge.puissance.totale.mobilisable']}" /> </rich:column> </rich:columnGroup> </f:facet> <rich:column id="periode" label="#{msg['parc.hydro.marge.periode']}" width="300px" sortBy="#{liste.periode}"> <h:outputText value="#{liste.periode}" /> </rich:column> <rich:column id="MargeTotale" label="#{msg['parc.hydro.marge.totale']}" width="200px" sortBy="#{liste.margeTotale}"> <h:outputText value="#{liste.margeTotale}" /> </rich:column> <rich:column id="puissanceTotaleMob" label="#{msg['parc.hydro.marge.puissance.totale.mobilisable']}" width="200px" sortable="true" sortBy="#{liste.puissanceTotaleMobilisable}"> <h:outputText value="#{liste.puissanceTotaleMobilisable}" /> </rich:column> <f:facet name="footer"> <rich:datascroller for="myTabVallee" style="width:100%" pageIndexVar="currPage" reRender="selectedVallee" onpagechange="#{rich:findComponent('selectedVallee').value}='#{selectedVallees[currPage]}'"> </rich:datascroller> </f:facet> </rich:dataTable> </h:form>
Avec l'utilisation de rich:findComponent actuelle, rien ne se passe.
J'ai aussi essayé les solutions suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <ui:param name="currentVallee" value="#{firstVallee}" /> <a4j:jsFunction name="updateValleeTitle" reRender="selectedVallee" ajaxSingle="true"> <a4j:actionparam name="val" assignTo="#{currentVallee}" /> </a4j:jsFunction> <rich:datascroller for="myTabVallee" status="none" style="width:100%" pageIndexVar="currPage" onpagechange="updateValleeTitle('#{selectedVallees[currPage]}')"/> <rich:datascroller for="myTabVallee" style="width:100%" pageIndexVar="currPage" > <a4j:support event="onpagechange" reRender="selectedVallee" > <a4j:actionparam name="val" assignTo="#{currentVallee}" value="#{selectedVallees[currPage]}"/> </a4j:support> </rich:datascroller>
Dans ces deux cas là, mon label est bien mis à jour mais c'est mon datascroller qui plante et qui ne met plus à jour mon tableau quand je clique sur la page suivante avec l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 WARN : 08:04:18 : org.ajax4jsf.component.AjaxViewRoot(246) : No component found to process as 'ajaxSingle' for clientId resultsVallee:myTabVallee:j_id54 WARN : 08:04:18 : org.ajax4jsf.component.AjaxViewRoot(246) : No component found to process as 'ajaxSingle' for clientId resultsVallee:myTabVallee:j_id54 WARN : 08:04:18 : org.ajax4jsf.component.AjaxViewRoot(246) : No component found to process as 'ajaxSingle' for clientId resultsVallee:myTabVallee:j_id54
Si certains avaient une petite idée ;b
Partager