Bonjour à tous,
Je suis en train d'ecrire un mini moteur de recherche pour mon programme.
J'arrive a produire la requete dynamiquement en fonction des champs saisi par l'utilisateur (ean, ttcmax, ttcmin, fournisseur, champs principal) voir image ci dessous.
Mon probleme : je souhaiterais que le resultat de la recherche soit renseigné dans une jtable et ce au fur et à mesure que l'utilisateur saisit sa recherche.
Mon probleme : je comprend pas bien comment fonctionne l'objet tablemodel pour remplir une jtable.
Et j'aimerai que si l'utilisateur efface la recherche la jtables soit recalculée de facon automatique a chaque keyrelease.
J'ai bien essaye de cette facon mais les lignes s'ajoutent les unes aux autres dans la jtables :
De plus le resultat n'est pas tres satifaisant du fait que j'ai trouvé ce code deja pret et donc je comprend pas tout.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 requete = "select * from t_produits " + general + " " + ean + " " + mini + " " + maxi + ";"; System.out.println(requete); // TableModel definition String[] tableColumnsName = {"col 1", "col 2", "col 3"}; DefaultTableModel aModel = (DefaultTableModel) aTable.getModel(); aModel.setColumnIdentifiers(tableColumnsName); // the query try { Statement stmt = (Statement) connection.createStatement(); rs = stmt.executeQuery(requete); } catch (SQLException ex) { System.out.println("CRASH REQUETE"); } // Loop through the ResultSet and transfer in the Model java.sql.ResultSetMetaData rsmd = rs.getMetaData(); int colNo = rsmd.getColumnCount(); while (rs.next()) { Object[] objects = new Object[colNo]; // tanks to umit ozkan for the bug fix! for (int i = 0; i < colNo; i++) { objects[i] = rs.getObject(i + 1); } aModel.addRow(objects); } aTable.setModel(aModel); aTable.repaint();
Partager