bonjour à tous
G un p'tit problème avec les treeview. Je souhaite avoir cette arborescence :
+--nomAlbum1
|__ nomAudio1
|__ nomAudio2
|__ nomAudio3
|__ ... ... ...
+--nomAlbum2
|__ nomAudio1
|__ nomAudio2
|__ nomAudio3
|__ ... ... ...
La requete effectué est une jointure entre deux tables (tblAlbum, tblAudio) me permettant de récupérer tt les chansons triées par album et par piste (piste 1,2,3,4,5 ...).
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
33
34
35
36
37
38
39 conn = dataSource.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select tblAlbum.nomAlbum, tblAudio.nomAudio, " +"tblAudio.pisteAudio, tblAudio.idAlbum " +"from tblAlbum,tblAudio " +"where tblAlbum.idAlbum = tblAudio.idAlbum " +"order by idAlbum asc ,pisteAudio asc"); String nomAlbum = ""; MenuComponent lc_menu1 = new MenuComponent(); lc_menu1.setName("listeAudio"); while (rs.next()){ MenuComponent lc_menu2 = new MenuComponent(); lc_menu2.setTitle(rs.getString("nomAlbum")); if (nomAlbum.equals((rs.getString("nomAlbum")))){ MenuComponent lc_menu3 = new MenuComponent(); lc_menu3.setTitle(rs.getString("nomAudio")); lc_menu2.addMenuComponent(lc_menu3); }else{ nomAlbum = rs.getString("nomAlbum"); MenuComponent lc_menu3 = new MenuComponent(); lc_menu3.setTitle(rs.getString("nomAudio")); lc_menu2.addMenuComponent(lc_menu3); lc_menu1.addMenuComponent(lc_menu2); } }
Un test sur le nomAlbum de l'enregistrement en cour est effectué :
1) si cette enregistrement fait partie du même album
->On ajoute la piste au noeud de l'album
2)dans le cas contraire on créé un nouveau noeud avec le nomAlbum et on ajoute la piste.
Problème: je n'arrive a avoir que la première chanson de chaque Album, c'est à dire :
+--nomAlbum1
|__ nomAudio1
+--nomAlbum2
|__ nomAudio1
Merci pour vos reponse.
Partager