Associer une image à son TreeView

Résolu
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 1 juin 2011 à 11:11
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 2 juin 2011 à 02:17
Bonjour,

J'ai une table de ma base de données nommée : toto...
sur mon formulaire j'ai un TreeView auquel j'associe le contenu de ma table "toto"... en codant ceci.. je dois avoir tous les enregistrements sur mon TreeView et chaque enregistrement doit être accompagné par sa propre image (lien de l'image est enregistré dans la bdd)...

Comm = New SQLiteCommand("SELECT DISTINCT img FROM toto;", Conn)
R = Comm.ExecuteReader
While R.Read
   il1.Images.Add(imgLoad("xyz\abc" & R.GetString(0)))
End While
R.Close()
Comm = Conn.CreateCommand
Comm.CommandText "SELECT name, img FROM toto WHERE nameP 0 ORDER BY nameN;"
R = Comm.ExecuteReader
Do While R.Read
   Dim trR As New TreeNode
   trR .Text = R.GetString(0)
   trR .ImageKey = R.GetString(1)
   tv.Nodes.Add(trR )
Loop


Le problème se trouve dans les images... je reçois la même image dans toutes lignes (ou enregistrements) sachant que chacun a sa propre image... le programme charge toutes les images dans un ImageList mais lors de l'affichage, il m'affiche toujours la dernière qui a été chargée.

Pourriez-vous m'aider svp ?

Merci d'avance

4 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
1 juin 2011 à 11:42
Salut,

Tu n'associe pas tes images à leur nom dans ton ImageList. Tu ne dois donc pouvoir accéder à ses images que via leur index, et nom leur "clé". Pour remédier à ça il faudrait ajouter tes images comme suit :
Dim imgName =  R.GetString(0)
il1.Images.Add(imgName, imgLoad("xyz\\abc\" & imgName))


Et si tu ne l'as pas fait en mode design, il faut aussi que tu associes ton ImageList à ton TreeView avec le code suivant :
tv.ImageList  = il1


Voilà, pas dit que ce soit la solution miracle mais c'est à creuser
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
1 juin 2011 à 19:19
Regarde la MSDN pour l'attribut ImageKey, extrait :
The key for the image associated with this tree node when the node is in an unselected state.


A nouveau grâce à la MSDN tu peux voir que l'objet TreeNode possède également un attribut SelectedImageKey ;)

NB : oui, je suis un grand fan de la MSDN, et heureusement pour vous parce que 9 topics sur 10 où je trouve une solution c'est dans un langage que je ne pratique pas ^^
3
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
1 juin 2011 à 18:40
Disant que ça marche... mais pas tout à fait bon parce que lorsque je clique sur un enregistrement sur TreeView, il change d'image !!!
0
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
2 juin 2011 à 02:17
Oui dès que j'ai lu ce que tu as écris j'ai trouvé la solution... comme j suis bête... merci bcp ça marche bien maintenant :)

Conseil : ne jamais s'aventurer tout seul dans un programme...
0
Rejoignez-nous