Bonjour à tous, j'arrive ainsi à mon deuxième problème, cette fois ci en utilisant une boucle while

Je m'explique, dans ce projet, je veux afficher les "titre" de ma table dans un treeView
J'y arrive c'est assez simple (enfin, si c'est bien comme ça qu'il faut s'y prendre )

J'utilise while pour afficher un par un les lignes de ma table, tout en créant une nouvelle "Node" à chaque fois (je ne sais pas si ça se dit comme ça)
Voici le morceau de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
while (MyReader.Read())
                {
 
                    TreeNode ChildNode4 = new TreeNode();
                    ChildNode4.Text = (String.Format("{0}", MyReader[1]));          // là j'affiche le "titre"         
                    ChildNode4.ForeColor = Color.Black;
                    ChildNode4.BackColor = Color.White;
                    ChildNode4.ImageIndex = 1;
                    ChildNode4.SelectedImageIndex = 1;
                    ChildNode1.Nodes.Add(ChildNode4); // là je créé une nouvelle ligne
 
 
                }
vu que j'ai plusieurs ligne dans ma table, ça en affiche donc plusieurs, voici un screen:


Nom : 68d06f0194.PNG
Affichages : 167
Taille : 28,5 Ko


Donc là tout est ok pour l'instant, maintenant je cherche à afficher une description (enfin là je n'ai pas encore de colonne description, donc on va se contenter de re-afficher le titre " (String.Format("{0}", MyReader[1]));"
J'aimerai l'afficher dans la texbox que j'ai intégré dans le tabcontrol

Je m'explique plus précisément, chaque "objet" dans ma bdd, (là ce sont des titres mais c'est pareil,) vont avoir une description, j'aimerai que quand on clique sur (pour cet exemple ça sera "Trajet tofu") cela affiche donc la description du "Trajet tofu" de ma table

Vous suivez ?

Dans ma table je n'ai pas encore la colonne "Description" c'est pour ça que comme dit plus haut on va re afficher le titre, donc quand je vais cliquer sur "Trajet tofu" ça va afficher le titre (Trajet tofu) dans mon tabcontrol en bas, et si je clique sur "ruturu", ça va afficher le titre (ruturu) et ainsi de suite


Avec la boucle while, je n'arrive pas à reprendre se qu'il y a dedans, c'est à dire que si je marque après la boucle par exemple:
MessageBox.Show(ChildNode4.Text);
Et bien il me dit qu'il n'existe pas dans le contexte actuel (vue qu'il est dans la boucle while) donc en réalité, je ne peux rien reprendre, conclusion, je n'arrive pas à afficher les titres dans mon tabcontrol ...



Si vous ne comprenez pas à un moment, faites moi le savoir !



Je vous met une bonne partie du code pour y voir plus claire
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 string MyConnection2 = "datasource=localhost;Database=test;username=root;password=";
 
        TreeNode ParentNode = new TreeNode();
        TreeNode ChildNode1 = new TreeNode();
        TreeNode ChildNode2 = new TreeNode();
        TreeNode ChildNode3 = new TreeNode();
 
        TreeNode NextChildNode1 = new TreeNode();
        TreeNode NextChildNode2 = new TreeNode();
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
 
 
            MySqlConnection MyConn2 = new MySqlConnection(MyConnection2);
            MyConn2.Open();
 
            {
 
 
 
                ParentNode.Text = "Accueil";
                ParentNode.ForeColor = Color.Black;
                ParentNode.BackColor = Color.White;
                ParentNode.ImageIndex = 0;
                ParentNode.SelectedImageIndex = 0;
                treeView1.Nodes.Add(ParentNode);           
 
                MySqlCommand affichageTrajets = new MySqlCommand("SELECT * FROM `trajets_combats_astrub` ;", MyConn2);
                MySqlDataReader MyReader = affichageTrajets.ExecuteReader();
 
                ChildNode1.Text = "Astrub";
                ChildNode1.ForeColor = Color.Black;
                ChildNode1.BackColor = Color.White;
                ChildNode1.ImageIndex = 0;
                ChildNode1.SelectedImageIndex = 0;
                ParentNode.Nodes.Add(ChildNode1);         
 
 
                while (MyReader.Read())
                {
 
                    TreeNode ChildNode4 = new TreeNode();
                    ChildNode4.Text = (String.Format("{0}", MyReader[1]));                   
                    ChildNode4.ForeColor = Color.Black;
                    ChildNode4.BackColor = Color.White;
                    ChildNode4.ImageIndex = 1;
                    ChildNode4.SelectedImageIndex = 1;
                    ChildNode1.Nodes.Add(ChildNode4);
 
 
                }
 
 
 
 
 
                ChildNode2.Text = "Child 2";
                ChildNode2.ForeColor = Color.Black;
                ChildNode2.BackColor = Color.White;
                ChildNode2.ImageIndex = 0;
                ChildNode2.SelectedImageIndex = 0;
                ParentNode.Nodes.Add(ChildNode2);         
 
 
 
 
            }
 
            MyConn2.Close();
 
 
 
        }