Bonjour, je crée un treeview a partir d'enregistrement de ma base de données, et je souhaiterai que chaque nœuds père affiche dans son libellé apparaissent le nombre de nœud enfants.
je vous montre ce que j'ai fait pour savoir si il y a pas "mieux" ou plus simple.
Merci de vos remarques:

1 creation du treeview:
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
 foreach (DataRow dataRow in dataTable.Rows)
            {
 
    string archi = dataRow["Nom_Arc"].ToString();
    string RS = dataRow["Raison_Social"].ToString();
    string Mail = dataRow["Mail"].ToString();
 
    TreeNode[] node;
        if (treeView1.Nodes.ContainsKey(archi))
        {
            node = treeView1.Nodes.Find(archi, false);
            if (Mail.Contains("@"))
                node[0].Nodes.Add(archi, RS + " (" + Mail.ToLower() + ")");
            else
                node[0].Nodes.Add(archi, RS);
        }
        else
        {
            node2 = treeView1.Nodes.Add(archi,archi);
            if (Mail.Contains("@"))
                node2.Nodes.Add(archi, RS + " (" + Mail.ToLower() + ")");
            else
                node2.Nodes.Add(archi, RS);
 
        }
}
RecupNbChild();
puis ensuite recuperer le nombre d'enfants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 private void RecupNbChild()
        {
            TreeNodeCollection tc = treeView1.Nodes;//recup du 1er niveau uniqement !
            foreach (TreeNode tn in tc)
            {
                tn.Text = tn.Text + " ("+ (tn.GetNodeCount(true).ToString())+")";
                tn.NodeFont = new Font(FontFamily.GenericSansSerif,7.0F, FontStyle.Italic);
            }
        }