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

Servlets/JSP Java Discussion :

tri dans une liste déroulante


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut tri dans une liste déroulante
    Bonjour,
    savez-vous s'il est possible de faire un tri des éléments d'une liste déroulante en jsp ?! car moi je n'y arrive pas !

    j'ai un HashMap que je remplie comme ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ResultSet resultat=instruction.executeQuery("select numcpte,categorie from COMPTECHARGE order by categorie asc");
    				while(resultat.next()){
    						if (resultat.getString("numcpte")!=null){
    							listeCpteCharge.put(resultat.getString("numcpte"),resultat.getString("categorie")); 
    						}
    				}
    puis je récupère les valeurs dans une liste déroulante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <select name="maListe" size="1">	
     	<option value=""></option>
      	<%
            Set entreeCpte=listeCpteCharge.entrySet();
            Iterator iter = entreeCpte . iterator ( ) ;
            while ( iter . hasNext ( ) ) {
     
                Map.Entry e = ( Map . Entry ) iter . next ( ) ;
            %>
      		<option value="<%=e.getKey()%>"><%=e.getValue()%></option>
    	<%}%>
    	</select>
    mais le tri n'est jamais effectué !!!!

    quelqu'un a une idée ?

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Normal, il n'y a pas de notion d'ordre dans une table de hashage. Range tes données dans une liste, et tes données resteront ordonnées.
    Tu peux créer un objet intermédiaire qui contiendra uniquement un "numcpte" et un "categorie". Et ce sont ces objets conteneurs qui seront ajoutés dans la liste.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Bonjour aolo2002,

    Tu veux conserver l'ordre de tri défini dans ta requête SQL ?

    Il existe 3 types de Map :

    - HashMap : ordonne les élements selon leur hashcode
    - LinkedHashMap : conserve l'ordre dans lequel les éléments ont été intégrés
    - TreeMap : ordonne les éléments de la clé (s'appuie sur Comparable)

    Tu as la même chose au niveau des collections (HashSet, LinkedHashSet, TreeSet).

    Ce qu'il te faut dans ton cas, je pense que c'est la LinkedHashMap !

    Voili, voilou !

  4. #4
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut tri dans une liste déroulante
    merci,
    le problème a été resolu,
    j'ai finalement utilisé LinkedHashMap comme conseillé par Duc Lebowski et cela fonctionne à merveille
    thanks

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

Discussions similaires

  1. Tri alphabétique dans une liste déroulante
    Par floopi51 dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2009, 10h13
  2. Comment rappeler une fonction dans une liste déroulante
    Par strogos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2005, 23h54
  3. Saisie de plusieurs caractère dans une liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2005, 14h32
  4. Rajouter "Tous" dans une Liste Déroulante
    Par smirold dans le forum IHM
    Réponses: 7
    Dernier message: 25/10/2004, 13h29

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