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 :

comment faire un selectOneMenu dynamique


Sujet :

JSF Java

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut comment faire un selectOneMenu dynamique
    bonjour ,
    je désire créer un formulaire affichant des données d'un Patient, et permettant aussi de les modifier
    ce formulaire contient un selectOneMenu qui doit afficher le nom de Maladie courant et la liste des maladies
    en modifiant la Maladie le formulaire doit renvoyé l Id de la nouvelle maladie choisie,
    et je me bloque a cette étape
    voila mon formulaire

    <h:form>
    <h3>informations du patient</h3>
    <h:panelGrid columns="2">

    <h:outputText value="N° Dossier :" />
    <h:inputText value="#{patientController.noDossier}" />

    <h:outputText value="Nom :" />
    <h:inputText value="#{patientController.nomPatient}" />

    <h:outputText value="Prenom :" />
    <h:inputText value="#{patientController.prenom}" />

    <h:outputText value="maladie :" />
    <h:selectOneMenu id="selectListMaladie" value="#{patientController.currentMaladie}">
    <f:selectItems value="#{patientController.maladieList}" />
    </h:selectOneMenu>

    <h:commandButton value="Submit" action="#{patientController.creerPatient}" />

    </h:form>
    dans le managedbean j ai crée un selectItem
    maladies = p.listerTousLesMaladies();

    maladieList = new ArrayList<SelectItem>();
    for (Iterator iter = maladies.iterator(); iter.hasNext(); ) {
    Maladie each = (Maladie) iter.next();

    SelectItem selectItem = new SelectItem(each);
    selectItem.setLabel(each.getNom());
    selectItem.setValue(each.getIdMaladie());
    maladieList.add(selectItem);

  2. #2
    Membre actif
    Inscrit en
    Juillet 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 28
    Par défaut
    essayer ça
    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
     
     
    public List<SelectItem> getMaladieList(){
     
     List<SelectItem> maladieList = new ArrayList<SelectItem>();
    for (Iterator iter = maladies.iterator(); iter.hasNext(); ) {
    Maladie each = (Maladie) iter.next();
     
    SelectItem selectItem = new SelectItem();
    selectItem.setLabel(each.getNom());
    selectItem.setValue(each.getIdMaladie());
    maladieList.add(selectItem);
    }
     return maladieList;
    }

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut
    résolu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    				<h:selectOneMenu id="selectListMaladie" value="#{patientController.currentMaladie}">
    					<f:selectItems value="#{patientController.maladieList}" />
     
    				</h:selectOneMenu>

    methode pour remplir la liste de maladie avec l IdMaladie et le nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	public List<SelectItem> getMaladieList() {
     
    		List<SelectItem> maladieList = new ArrayList<SelectItem>();
    		for (Iterator iter = maladies.iterator(); iter.hasNext();) {
    			Maladie each = (Maladie) iter.next();
     
    			maladieList.add(new SelectItem(each.getIdMaladie(), each.getNom()));
    		}
    		return maladieList;
    	}

    pour recuperer l id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		for (SelectItem si : getMaladieList()) {
    			if (si.getValue().equals(currentMaladie)) {
    //recuperer l id par si.getValue();
    				System.out.println(si.getValue());
     
    			}
    		}

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut
    Bonjour,
    STP si vous avez le code de remplissage dela liste déroulante vous pouvez le partager SVP

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

Discussions similaires

  1. Comment faire un tableau dynamique ?
    Par Nico128 dans le forum WinDev
    Réponses: 3
    Dernier message: 18/03/2008, 11h13
  2. comment faire un menu dynamique
    Par gilardino dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 14/08/2007, 14h51
  3. Comment faire un alert dynamique sur ma page web
    Par nazimb dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2007, 21h52
  4. Comment faire un lien "dynamique" de tables??
    Par fram069 dans le forum Access
    Réponses: 1
    Dernier message: 10/04/2006, 13h43
  5. Comment faire une connexion dynamique à une base avec ADO?
    Par Borisam dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/03/2006, 14h22

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