Insertion dans un jtable

Résolu
nam90 Messages postés 21 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 6 novembre 2012 - 18 mai 2009 à 16:33
manlap Messages postés 17 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 juin 2010 - 20 mai 2009 à 10:03
Bonjour à tous,
est-ce quelqu'un peut m'aider g un ptit probleme. g créé un formulaire de saisie pour ma base.
 je veux que lorsque je saisie le num de matricule d'une personne il m'affiche dans mon jtable le numero, le nom et la date de naissance de son enfant,mais par expmle si la personne à deux enfants il m'affiche que le dernier, il m'affiche pas tout.
j'ai besoin d'aide, voici mon code:

public void jTextField1ActionPerformed(java.awt.event.ActionEvent evt)
    {
        int tf = Integer.parseInt(jTextField1.getText());
        //System.out.println(tf);
       
        try{
           ResultSet results = mabase.requete("select matricule, nomComplet from agent where matricule="+tf+";");
           while(results.next())
           {
               ResultSetMetaData rsmd = results.getMetaData();
               int matricule = results.getInt("matricule");
               String nom = results.getString("nomComplet");
               //System.out.println(matr+ " "+nom);


               jTextField2.setText(nom);
               results = mabase.requete("Select Enfant.numID,nomEnfant,dateNaissance,matricule from Enfant,Agent,Choix where matricule=matriculeAgent and Enfant.numID=choix.numID and matricule="+matricule+";");
               while(results.next())
               {
                   rsmd = results.getMetaData();
                   int num = results.getInt("numID");
                   String enfant= results.getString("nomEnfant");
                   Date date= results.getDate("dateNaissance");
                   int matr = results.getInt("matricule");
                  
                   System.out.println(num+ " " +enfant+ " " +date);
                   jTable.setModel(new DefaultTableModel(new Object [][] {{num,enfant,date,null}},
                            new String [] {"numID", "nomEnfant", "Date de Naissance", "refJouet choisi"}
                                                        ));     
                }
            }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
                
    }

merci d'avance.

3 réponses

manlap Messages postés 17 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 juin 2010
19 mai 2009 à 13:50
Bonjour,

tu initialises à chaque itération le model de ta JTable (deuxième while).
il faudrait le faire après le while s'il y a des lignes résultats pour ta requête.
3
nam90 Messages postés 21 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 6 novembre 2012
19 mai 2009 à 22:10
bonsoir,
merci beaucoup ça marche maintenant.
j'ai encore une autre question si ça ne vous dérange pas, en fait je veux que lorsque que je clique sur une cellule de ma table ajouté un jtextfield dans mon panel pour la saisie mais je ne sais pas comment y procédé(car je n'arrive pas à sélection une cellule g essayé avec jTable.editCellAt mais ça ne marche pas).
est-ce que vous pouvez m'aider svp.

merci et bonne soirée!
0
manlap Messages postés 17 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 juin 2010
20 mai 2009 à 10:03
bonjour,

int

[] ligneSelectionnee =
jTable.getSelectedRows();
récupère les lignes sélectionnées de la JTable

Ensuite il faut interroger le model de la JTable pour chaque ligne sélectionnée
jTable.getModel().getValueAt(ligneSelectionnee[i], 0);

getValueAt(ligne, colonne)
0
Rejoignez-nous