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