Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

je galére toujours avec JTABLE :(

3 réponses
Avatar
louka
bonjour,
j'utlise une JTABLE dans laquelle j'insere =E0 chaque fois des colonnes
qui correspondent =E0 differentes requetes SQL avec table.addcolumn, le
probl=E8me c'est que je veux r=E9cup=E9rer les donn=E9es de toute une ligne
en cliquant sur une cellule de la ligne, mais j'arrive pas =E0 le faire
car je ne peux acceder qu'=E0 la valeur issue de la derni=E8re requetes
execut=E9 et donc les autres donn=E9es des autres requetes je crois qu'il
sont perdu en memoire malgres qu'ils s'affichent bien!!!!

j'attend vos suggestionpour m en sortir de cette gal=E8re!
merci bien !!!

3 réponses

Avatar
TestMan
Bonjour,

As-tu essayé le "databinding" SQL de SwingLabs ?
http://swinglabs.org/downloads.jsp

A+

TM

bonjour,
j'utlise une JTABLE dans laquelle j'insere à chaque fois des colonnes
qui correspondent à differentes requetes SQL avec table.addcolumn, le
problème c'est que je veux récupérer les données de toute une ligne
en cliquant sur une cellule de la ligne, mais j'arrive pas à le faire
car je ne peux acceder qu'à la valeur issue de la dernière requetes
executé et donc les autres données des autres requetes je crois qu'il
sont perdu en memoire malgres qu'ils s'affichent bien!!!!

j'attend vos suggestionpour m en sortir de cette galère!
merci bien !!!



Avatar
Patrice Trognon
bonjour,
j'utlise une JTABLE dans laquelle j'insere à chaque fois des colonnes
qui correspondent à differentes requetes SQL avec table.addcolumn, le
problème c'est que je veux récupérer les données de toute une ligne
en cliquant sur une cellule de la ligne, mais j'arrive pas à le faire
car je ne peux acceder qu'à la valeur issue de la dernière requetes
executé et donc les autres données des autres requetes je crois qu'il
sont perdu en memoire malgres qu'ils s'affichent bien!!!!

j'attend vos suggestionpour m en sortir de cette galère!
merci bien !!!



Comment tu insères les données dans ta JTable ?

Tu dois normalement avoir codé une classe implémentant
l'interface TableModel (ou hérirant de AbstractTableModel)
et dans cette classe tu vas y gérer les données présentées
dans ta JTable.

Dans l'EVT qui t'indique qu'un cellule est cliquée, tu
as alors les coordonnées x,y de la cellule, a toi d'aller
chercher la ligne correspondante dans ton Model a partir de la
coordonné y.

l'idée du model est de stocker chaque ligne dans une List
(java.util.List) ou toute autre collection qui te convient,
et dans le model tu vas définir la méthode getValueAt(int row, int
column) qui va retourner la cellule à partir de ta List.
L'idée dans ta list est de stocker les objets a présenter
et non simplement des chaines de caractères.


Exemple de model dans le JDK :

public class DefaultTableModel
extends AbstractTableModel
implements Serializable

This is an implementation of TableModel that uses a Vector of Vectors to
store the cell value objects.

Patrice Trognon
http://www.javadevel.com

Avatar
Abdoulkader Mahamane Atto
Bonjour.
Ma suggestion :
j'ai utilise le JDBCAdapter avant, qd tu executes une requete SQL, cette
classe remplit dans 2 vecteurs (de modele de donnees) le resultat de la
requete, qui correspondent en fait aux colonnes et lignes de la JTable. Et
pour chaque requete executee, ces vecteurs sont effaces et remplis. (Essaie
d'analyser le source du JDBCAdapter qui est fourni).

Donc 2 solutions :
- remodeler ta requete SQL pour n'avoir qu'une seule qui te ramene les
donnees par ex ce squelette a affiner : select a.id,
b.code_matiere,b.description from table_etudiants a, table_matiere b. Ceci
afin de pouvoir utliser le JDBCAdapter standard.
- Remodeler le JDBCAdapter pour alimenter les vecteurs (rows & cols) avec
tes propres donnees, avec un resultset par exemple.



"louka" wrote in message
news:
bonjour,
j'utlise une JTABLE dans laquelle j'insere à chaque fois des colonnes
qui correspondent à differentes requetes SQL avec table.addcolumn, le
problème c'est que je veux récupérer les données de toute une ligne
en cliquant sur une cellule de la ligne, mais j'arrive pas à le faire
car je ne peux acceder qu'à la valeur issue de la dernière requetes
executé et donc les autres données des autres requetes je crois qu'il
sont perdu en memoire malgres qu'ils s'affichent bien!!!!

j'attend vos suggestionpour m en sortir de cette galère!
merci bien !!!