Probleme synchronisation DefaultTableModel

Résolu
neptunes31 Messages postés 8 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 7 juillet 2010 - 1 janv. 2009 à 18:35
neptunes31 Messages postés 8 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 7 juillet 2010 - 1 janv. 2009 à 18:48
Bonjour,
J'ai créé 2 interfaces graphiques, une contenant des données affichées dans une JTable à l'aide d'un  DefaultTableModel., une seconde permettant la gestion de ces données (ajout, suppression, ...).
J'ai rencontré un problème pour la modification des données. Pour effectuer cette opération, on peut soit cliquer sur une ligne du  DefaultTableModel, soit en sélectionnant une ligne puis en cliquant sur un bouton "Modifier". Le résultat est l'ouverture d'une fenêtre affichant les données à changer.
Il y a 3 champs :  code, nom, type.
Dans le cas où l'on passe par le bouton "Modifier", il n'y a aucun probléme. Mais si on double-clique pour ouvrir la fenêtre, on modifie les données puis on valide, le champ du nom ne se met pas en jour dans la 1ere fenetre(laissée ouverte). Pourtant le code utilisé est le même.

boolean bModification ;    
//fonction de MAJ dans la BD                  
                            bModification = leClientGestionClientBD.demanderModifierClient(vCode, vNom, vType);
                            if(bModification){
                                int i = 1;
                                int ligne = 0;
                                int colonne = 0;
                                boolean bTrouve = false;   
                                String leCode;

                                while(i <= leModeleTransmisParfenTable.getRowCount()&& bTrouve==false){
                                    leCode=(String)leModeleTransmisParfenTable.getValueAt(ligne, colonne);
                                                                       
                                     if(leCode.equals(vCode)){
                                          bTrouve = true;       
                                          leModeleTransmisParfenTable.setValueAt(vCode, ligne, 0);
                                          leModeleTransmisParfenTable.setValueAt(vNom, ligne, 1);
                                          leModeleTransmisParfenTable.setValueAt(vType, ligne, 2);                                       
                                      }
                                      i++;
                                      ligne++;
                                }

La variable vNom contient bien la même donnée à modifier. Je ne comprends pas pourquoi le DefaultTableModel n'affiche les bonnes données.
Merci de votre aide.

1 réponse

neptunes31 Messages postés 8 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 7 juillet 2010
1 janv. 2009 à 18:48
C'est bon résolu!!
En double-cliquant dessous sur une ligne, la cellule devenait éditable, et même si le contenu du DefaultTableModel était juste, il ne s'affichait pas correctement lors de sa mise à jour ...
3
Rejoignez-nous