Modification cellule JTable et BD en java

tomy887 Messages postés 1 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010 - 5 janv. 2010 à 11:52
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 - 10 déc. 2010 à 12:40
Bonjour,
dans le terme d'un projet tuteuré nous avons un problème et nous vous appelons à l'aide ^^!

Pour information nous travaillons en programmation Java avec une liaison avec une base de donnée!

Dans notre programme nous avons un JTable dont les données viennent d'une base de donnée.Nous avons fait en sorte de pouvoir modifier l'une des cellules de la JTable! Mais lorsque nous modifions cette cellule nous aimerions pouvoir envoyer la donnée modifiée dans notre base de donnée et mettre la nouvelle valeur dans la JTable.

En ce moment une fois avoir mis la nouvelle valeur on valide et l'ancienne valeur revient.
Sachant qu'on utilise un JTableModel et qu'on utilise un fireCellChanged sans succès.
Nous avons penser à utiliser un Listener sur la cellule avec un cellEditorListener pour enrgistrer la valeur dans la base de données et recharger la jtable mais nous ne savons pas comment l'utiliser ce type de listener !

Pouvez vous nous aidez s'il-vous-plait?

2 réponses

seglajean Messages postés 1 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 10 décembre 2010
10 déc. 2010 à 11:28
moi aussi j'ai le meme problème.je développe une application de gestion scolaire et je voudrais que l'on inscrive la note de chaque élève devant son nom dans le jtable avant de cliquer sur mon bouton "SAVE" pour enregistrer tout ce qui sera inscrit en attribuant chaque note saisie à l'élève qui est en face de celle ci par son matricule qui sera la clé primaire de la table en base
Merci d'avance pour d'eventuelles réponses
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
10 déc. 2010 à 12:40
Hello,

pour un example de cellEditorListener regardes ici

Pour la mise à jour de la table, il faut à la fois sauvegarder en base mais aussi modifier le model de la table! Sinon le repaint ne va qu'afficher les anciennnes valeurs !

De plus tu peux utiliser ce bout de code pour notifier le changement du model à la table (attention à ta class model, qu'elle étende bien DefaultTableModel) :

JTable table = .....;
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.fireTableDataChanged():


++
0
Rejoignez-nous