IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Deux selectOneMenu dépendants


Sujet :

JSF Java

  1. #1
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut Deux selectOneMenu dépendants
    Bonjour,
    J'ai deux liste selectonemenu et je veux que l'une s'affiche selon la première par exemple la 1er liste celle des payers et la deuxièmes celle des villes.

    Voila mon code mais la 2ème liste n'affiche rien !!!

    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
     
     <h:outputLabel value="Bureau: " />
                    <p:selectOneMenu id="bureau" 
                                     value="#{dataBean.selectedBureau}">
     
                        <f:selectItem itemLabel="Choisir un bureau"/>
     
                        <f:selectItems value="#{dataBean.listBureau}" 
                                       var="curBur"
                                       itemLabel="#{curBur.refBureauDouane}"
                                       itemValue="#{curBur}"/>
     
                        <f:ajax event="change"
                                listener="#{dataBean.genSpecializations()}"
                                execute="bureau" 
                                render="ordonn" />  
     
                    </p:selectOneMenu>
     
                    <h:outputLabel value="Ordonnancement: " />
                    <p:selectOneMenu id="ordonn" 
                                     value="#{dataBean.selectedOrdonn}">
     
                        <f:selectItem itemLabel="Choisir un ordonancement"/>
     
                        <f:selectItems value="#{dataBean.listOrdonn}"
                                       var="curSpec"
                                       itemLabel="#{curSpec.libelleposte}"
                                       itemValue="#{curSpec}"/>
     
                    </p:selectOneMenu>
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package ma.MBeans;
     
    import java.io.Serializable;
    import java.util.List;
    import javax.annotation.PostConstruct;
    import javax.ejb.EJB;
    import javax.enterprise.context.SessionScoped;
    import javax.faces.event.AjaxBehaviorEvent;
    import javax.inject.Named;
    import ma.entities.constatationAffaire.Bureaudouane;
    import ma.entities.constatationAffaire.Ordonnancement;
    import ma.session.constatationAffaire.BureaudouaneSessionBean;
    import ma.session.constatationAffaire.OrdonnancementSessionBean;
     
    /**
     *
     * @author assma
     */
    @Named(value = "dataBean")
    @SessionScoped
    public class dataBean implements Serializable {
     
        @EJB
        private BureaudouaneSessionBean emGeBD;
        @EJB
        private OrdonnancementSessionBean emGeO;
     
        private Bureaudouane selectedBureau;
        private List<Bureaudouane> listBureau;
        private Ordonnancement selectedOrdonn;
        private List<Ordonnancement> listOrdonn;
        private boolean showSpecialization = false;
     
        public dataBean() {
        }
     
        @PostConstruct
        public void init() {
            listBureau = emGeBD.findAll();
            if (listBureau != null) {
                selectedBureau = listBureau.get(0);
                listOrdonn = emGeO.findByRefBureau(selectedBureau.getRefBureauDouane());
                if (listOrdonn != null) {
                    selectedOrdonn = listOrdonn.get(0);
                } else {
                }
            } else {
            }
        }
     
        public void genSpecializations(AjaxBehaviorEvent event) {
            if (emGeO.findByRefBureau(selectedBureau.getRefBureauDouane()) != null) {
                this.showSpecialization = true;
            } else {
            }
        }
     
        public List<Bureaudouane> getListBureau() {
            return listBureau;
        }
     
        public void setListBureau(List<Bureaudouane> listBureau) {
            this.listBureau = listBureau;
        }
     
        public List<Ordonnancement> getListOrdonn() {
            return listOrdonn;
        }
     
        public void setListOrdonn(List<Ordonnancement> listOrdonn) {
            this.listOrdonn = listOrdonn;
        }
     
        public Bureaudouane getSelectedBureau() {
            return selectedBureau;
        }
     
        public void setSelectedBureau(Bureaudouane selectedBureau) {
            this.selectedBureau = selectedBureau;
        }
     
        public Ordonnancement getSelectedOrdonn() {
            return selectedOrdonn;
        }
     
        public void setSelectedOrdonn(Ordonnancement selectedOrdonn) {
            this.selectedOrdonn = selectedOrdonn;
        }
     
        public boolean isShowSpecialization() {
            return showSpecialization;
        }
     
        public void setShowSpecialization(boolean showSpecialization) {
            this.showSpecialization = showSpecialization;
        }
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public List<Ordonnancement> findByRefBureau(String ref) {
            Query query = emO.createQuery("SELECT o "
                    + "FROM Ordonnancement o "
                    + "WHERE o.refBureauDouane.refBureauDouane = :ref ");
     
            query.setParameter("ref", ref);
            return query.getResultList();
        }
    Si vous pouvez m'aider ?
    Merci

  2. #2
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut
    Enfin j'ai trouvé la solution !!!

    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
     
     <h:panelGrid columns="2" style="width:500px;height: 200px;">
     
                    <h:outputLabel value="Bureau: " />
                    <p:selectOneMenu id="bureau" 
                                     value="#{dataBean.selectedBureau}">
     
                        <f:selectItem itemLabel="Choisir un bureau"/>
     
                        <f:selectItems value="#{BureaudouaneMBean.bureaudouane}" 
                                       var="curBur"
                                       itemLabel="#{curBur.refBureauDouane}"
                                       itemValue="#{curBur.refBureauDouane}"/>
     
                        <p:ajax update="ordonn"
                                listener="#{dataBean.genSpecializations}"
                                />  
     
                    </p:selectOneMenu>
     
                    <h:outputLabel value="Ordonnancement: " />
                    <p:selectOneMenu id="ordonn" 
                                     value="#{dataBean.selectedOrdonn}">
     
                        <f:selectItem itemLabel="Choisir un ordonancement"/>
     
                        <f:selectItems value="#{dataBean.listOrdonn}"
                                       var="curSpec"
                                       itemLabel="#{curSpec.libelleposte}"
                                       itemValue="#{curSpec.refOrdonnancement}"/>
     
                    </p:selectOneMenu>
     
                </h:panelGrid>
    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
    48
    49
    50
    51
    52
    53
    54
     
    @Named(value = "dataBean")
    @SessionScoped
    public class dataBean implements Serializable {
     
        @EJB
        private OrdonnancementSessionBean emGeO;
        private String selectedBureau;
        private List<Bureaudouane> listBureau;
        private String selectedOrdonn;
        private List<Ordonnancement> listOrdonn;
     
        public dataBean() {
        }
     
        public void genSpecializations() {
     
            listOrdonn = emGeO.findByRefBureau(this.selectedBureau);
        }
     
        public List<Bureaudouane> getListBureau() {
            return listBureau;
        }
     
        public void setListBureau(List<Bureaudouane> listBureau) {
            this.listBureau = listBureau;
        }
     
        public List<Ordonnancement> getListOrdonn() {
            return listOrdonn;
        }
     
        public void setListOrdonn(List<Ordonnancement> listOrdonn) {
            this.listOrdonn = listOrdonn;
        }
     
        public String getSelectedBureau() {
            return selectedBureau;
        }
     
        public void setSelectedBureau(String selectedBureau) {
            this.selectedBureau = selectedBureau;
        }
     
        public String getSelectedOrdonn() {
            return selectedOrdonn;
        }
     
        public void setSelectedOrdonn(String selectedOrdonn) {
            this.selectedOrdonn = selectedOrdonn;
        }
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public List<Ordonnancement> findByRefBureau(String ref) {
            Query query = emO.createQuery("SELECT o "
                    + "FROM Ordonnancement o "
                    + "WHERE o.refBureauDouane.refBureauDouane = :ref ");
     
            query.setParameter("ref", ref);
            return query.getResultList();
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Deux selectOneMenu dépendants
    Par btssouma dans le forum JSF
    Réponses: 3
    Dernier message: 21/09/2012, 13h23
  2. Réponses: 2
    Dernier message: 11/02/2011, 16h14
  3. Réponses: 3
    Dernier message: 11/02/2011, 09h18
  4. Deux DropDownList dépendant
    Par pierrot53 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/06/2008, 17h29
  5. problème avec deux listes dépendantes
    Par lolita2008 dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/04/2008, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo