JSF / ADF / PPR non può aggiornare la pagina come previsto
-
22-09-2019 - |
Domanda
Ho dei problemi con JSF / ADF / PPR sulla aggiornare la pagina in modo non corretto. Ho un selectManyCheckBox con 5 opzioni in esso, una delle opzioni è 'All'. Se agli utenti di controllare che la casella, dovrei controllare tutti gli altri.
<h:panelGrid styleClass="myBox leftAligned" id="applyChangesBox">
<af:selectManyCheckbox id="changesCheckedBox"
autoSubmit="true" label="Hello: "
value="#{updateForm.applyChangesList}"
valueChangeListener="#{updateForm.testValueChanged}">
<af:selectItem value="A" label="All Changes"/>
<af:selectItem value="R" label="Residential Address"/>
<af:selectItem value="M" label="Mailing Address"/>
<af:selectItem value="P" label="Personal Phone/Fax Numbers"/>
<af:selectItem value="E" label="Personal Email Addresses"/>
</af:selectManyCheckbox>
<af:outputText value="#{updateForm.testValue}" partialTriggers="changesCheckedBox"/>
</h:panelGrid>
io sto usando valueChangeListener in modo che posso vedere il mio fagioli aggiornato e stampato in modo corretto, ma la mia pagina non si aggiorna e controlla tutti gli altri casella di controllo se ne ho bisogno.
Soluzione
Provare quanto segue:
- Non utilizzare il
valueChangeListener
. Spostare la logica al metodosetApplyChangesList()
sul fagiolo. - Aggiungi
partialTriggers="changesCheckedBox"
a selezionare una scelta. - o sostituire il
<h:panelGrid/>
con un componente ADF e impostare l'attributopartialTriggers
in modo che esso non è sullaselectManyCheckbox
&outputText
o
Sostituire la selectManyCheckbox
con selectManyList
e utilizzare l'attributo selectAllVisible
che sembra fare quello che vuoi.
Queste nuove cheatsheets sono grandi! http://www.oracle.com/ La tecnologia / prodotti / ADF / adffaces / 11 / doc / bigino / lovs.html
Altri suggerimenti
So che la questione è molto vecchio, ma forse altri ancora hanno questo problema. E 'meglio mettere il partialTrigger sul genitore del piuttosto che sull'uscita in sé. In questo modo, il pannello genitore è ridipinto, insieme con l'output. In secondo luogo, è una buona idea quella di impostare il campo "id" dei componenti che dovrebbero rispondere ai trigger.