baratribord
Messages postés44Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention30 mai 2008
-
16 mai 2008 à 10:38
fadouahassen22
Messages postés15Date d'inscriptionjeudi 8 juillet 2010StatutMembreDernière intervention25 août 2010
-
3 août 2010 à 15:23
Bonjour,
J'ai écrit un programme qui affiche dans un JTable les enregistrements de ma base de données.
A cette JTable j'ai rajouté dans mon ArrayList une colonne supprimé affichant une case à cocher.
Ensuite je renvois à la fenêtre principale ma collection :
Lorsque j'appuie sur le bouton "supprimer", je parcours mon tableau à la recherche des cases cochées puis je supprime les enregistrements de la table. A ce niveau là j'ai des cases à cocher qui trainent.
Pour finir je fais un SELECT * FROM pour tout réafficher via updateModel :
ResultSet resultat = instruction.executeQuery("SELECT * FROM data;");
ResultSetTableModel tableModel = new ResultSetTableModel();
Fen.rowValues_ = tableModel.updateModel(resultat);
JTable table = new JTable(tableModel);
JScrollPane JSP = new JScrollPane(table);
Fen.getContentPane().add(JSP, BorderLayout.CENTER);
Fen.pan.add(Fen.supp);
Fen.validate();
Lorsque que je redimmenssionne ma fenetre, les anciens enregistrements sont encore dans ma fenetre ??
Est-ce dû à
Fen.getContentPane().add(JSP, BorderLayout.CENTER); qui rajoute au panel de ma frame mes données ou à une mauvaise gestion de ma mémoire ?
A voir également:
Problème d'affichage de ma JTable après une requette SQL
nosferaltu0
Messages postés36Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 6 juin 2008 16 mai 2008 à 12:15
Si tu veux ajouter un composant à la place d'un autre il faut avant que tu supprime le composant qui etait present avec la methode remove().
Oubli pas de faire un repaint() s'il n'est pas fait automatiquement.
fadouahassen22
Messages postés15Date d'inscriptionjeudi 8 juillet 2010StatutMembreDernière intervention25 août 20101 3 août 2010 à 15:23
bonjour,
je veux afficher les données ds ma base dans un JTable.
le pb c'est qu'on m'affiche qu'une seule ligne toujours. je ne trouve pas la afille. merci de me corriger si possible ce que j'ai écris ci dessous.
@+
/******************************/
try {
String sqlst= "SELECT * FROM user_table";
PreparedStatement state = connect.getInstance().prepareStatement(sqlst);
ResultSet res = state.executeQuery(sqlst);
ResultSetMetaData meta = res.getMetaData();
Object[] column = new Object[meta.getColumnCount()];
for(int i = 1 ; i <= meta.getColumnCount(); i++){
column[i-1] = meta.getColumnName(i);
}
//get row count//
res.last();
int rowCount = res.getRow();
Object[][] donnees = new Object[res.getRow()][meta.getColumnCount()];
//restart
res.beforeFirst();
for (int j=1; j<=rowCount;j++){
while(res.next()){
for(int i = 1 ; i < meta.getColumnCount(); i++){
String dn=res.getObject(i+1).toString();
table.setValueAt(dn,j-1, i-1);