Question

J'ai des problèmes avec JSF / ADF / PPR sur rechargeant la page de manière incorrecte. J'ai selectManyCheckBox avec 5 options en elle, l'une des options est « Tous ». Si les utilisateurs de vérifier cette case, je devrais vérifier tous les autres.

<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>

J'utilise valueChangeListener pour que je puisse voir mes haricots mis à jour et imprimé correctement, mais ma page ne se recharge et vérifie pas tous les autres case à cocher si je dois.

Était-ce utile?

La solution

Effectuez les opérations suivantes:

  1. Ne pas utiliser le valueChangeListener. Déplacez votre logique à la méthode setApplyChangesList() sur votre haricot.
  2. Ajouter partialTriggers="changesCheckedBox" à celle choisie choix.
  3. ou remplacer le <h:panelGrid/> avec un composant ADF et définissez l'attribut partialTriggers sur lui afin qu'il ne soit pas sur le selectManyCheckbox & outputText

ou

Remplacez le selectManyCheckbox avec selectManyList et utiliser l'attribut selectAllVisible qui semble faire ce que vous voulez.

Ces nouveaux cheatsheets sont super! http://www.oracle.com/ technologie / produits / adf / adffaces / 11 / doc / antisèche / lovs.html

Autres conseils

Je sais que la question est très ancienne, mais peut-être d'autres ont encore ce problème. Il est préférable de mettre le partialTrigger sur le parent du plutôt que sur la sortie elle-même. De cette façon, le panneau parent est repeint, en même temps que la sortie. En second lieu, il est une bonne idée de définir le champ « id » des composants qui doivent répondre aux déclencheurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top