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