JCombobox Dynamique [Résolu]

cs_Dellys 95 Messages postés mercredi 26 octobre 2005Date d'inscription 24 mars 2008 Dernière intervention - 13 févr. 2007 à 12:58 - Dernière réponse : cs_Dellys 95 Messages postés mercredi 26 octobre 2005Date d'inscription 24 mars 2008 Dernière intervention
- 14 févr. 2007 à 15:13
Bonjour
voila j'ai deux jCombobox le deuxième dépend du choix du premier ,sur le premier j'affiche la description des éléments (question de présentation) mais pour  que je puisse interagir avec le deuxième il me faut le ID  afin que je puisse l’utilisé  comme paramètre dans le SQL du deuxième ,comment faire pour récupéré non la descrption mais sont ID?




try {
        connec = getConnec();
        Statement reqCDS = connec.createStatement();
        ResultSet ResultCDS = reqCDS.executeQuery(
             "SELECT * FROM taskname  ");


        while(ResultCDS.next()) {


               jComboBox1.addItem(ResultCDS.getString("TASK_ORDER"));
           }
       ResultCDS.close();
    }
    catch(Throwable exception)
    {
    JOptionPane.showMessageDialog(null, "Erreur : "+exception);
    }
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 14 févr. 2007 à 15:12
3
Merci
Ton vecteur indexes est-il bien remplis lorsque tu veux accèder à l'élément ?

Si oui, essaye alors avec :
String num = (String) indexes.get(jComboBox1.getSelectedIndex() + 1);

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 13 févr. 2007 à 18:00
0
Merci
Il te suffit de stocker les id en parralèle de l'ajout dans ton combo (dans un vector par exemple) :
Vector<Long> indexes = new Vector<Long>();
while(ResultCDS.next()) {                jComboBox1.addItem(ResultCDS.getString("TASK_ORDER"));
indexes.Add(ResultCDS.getLong("id"));
}

ainsi, le selectedindex de ton combobox te permettra de récupèrer l'id correspondant :
indexes.get(jComboBox1.getSelectedIndex());
Commenter la réponse de cs_DARKSIDIOUS
cs_Dellys 95 Messages postés mercredi 26 octobre 2005Date d'inscription 24 mars 2008 Dernière intervention - 14 févr. 2007 à 15:05
0
Merci
J'ai essayer ce que vous m'avais montré comme suit :
 
Vector indexes = new Vector();

dans la boucle je récupre le champ id_t_order

 indexes.add(ResultCDS.getString("id_t_order"));
Le problème est dans la récupération du champ dans le deuxiéme jCombobox  j'ai ce message d'erreur : <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0







public void jComboBox1_actionPerformed(ActionEvent e) {




           try {
               String num = (String) indexes.get(jComboBox1.getSelectedIndex());


System.out.println( num );


       connec = getConnec();
       Statement reqCDS = connec.createStatement();
       ResultSet ResultCDS = reqCDS.executeQuery(
       "SELECT * FROM sub_task where order_type ='"+num +"' ");




     while(ResultCDS.next()) {


              jComboBox2.addItem(ResultCDS.getString("TASK_NAME"));
              //indexes.add(ResultCDS.getString("id_t_order"));
               //System.out.println(indexes );
            // int id =(ResultCDS.getInt("id_t_order"));
          }
      ResultCDS.close();
   }
   catch(Throwable exception)
   {
  // JOptionPane.showMessageDialog(null, "Erreur : "+exception);
    System.out.println(exception) ;
   }
Commenter la réponse de cs_Dellys
cs_Dellys 95 Messages postés mercredi 26 octobre 2005Date d'inscription 24 mars 2008 Dernière intervention - 14 févr. 2007 à 15:13
0
Merci
C'est bon c'est réglé merci infiniment
Commenter la réponse de cs_Dellys

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.