Bonjours,
D'avance pardon, j'ai peu d'experience en C#...

Je souhaite developper un site avec a gauche une arborescence (un treeview dans ce cas) qui me permette d'affiner le resultat d'une recherche affiché a gauche. Concretement, au chargement de la page, tout les documents cntenus dans l'arbre sont affichés (sur plusieurs pages evidement) et disparaitront au fur et a mesur que l'utilisateur se deplace dans l'arbre (toujours en suivant le chemin du dernier noeud selectionné).

Alors voila, j'ai bindé un TreeView avec un Objet implementant IHierarchyData qui me permet de recuperer une hierarchie depuis une base de donnée. Jusque la tout va bien, le TreeView affiche bel et bien l'abre de la base avec la bonne hierarchie.

Cependant, pour recuperer les documents dans la base de donnée, j'ai besoin de recupérer des informations concernant le noeud en question pour retrouver tout ses documents fils. Seulement la propriété DataItem des TreeNode de mon arbre est toujours Null...

J'avai pensé que celle ci recevait la propriété Item de mon objet lors du Binding mais il faut croire que non... Je suppose donc avoir oublié quelquechose en implementant l'interface mais je ne trouve pas quoi.

Voici le code de mon IHierarchyData :
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
 
public class                            NodeHierarchyData: IHierarchyData
    {
        private MyTreeKey               _nod; //Contient les données du noeud
        private SqlConnection           _sqlCon;
 
        public                            ItvNod(MyTreeKey          nod,
                                                 SqlConnection      sqlCon)
        {
            _sqlCon = sqlCon;
            _nod = nod;
        }
 
        public IHierarchicalEnumerable GetChildren()
        {
            if (_nod.Hb == (_nod.Lb + 1))
                return (null);
            else
                return (new MyTreeHierarchy(_sqlCon, _nod));
        }
 
        public IHierarchyData           GetParent()
        {
              // Je me permet de racourcir un peu la citation, si ce code est               
              // necessaire je le reposterait
        }
 
        public bool                     HasChildren
        {
            get
            {
                if (_nod.Hb == (_nod.Lb + 1))
                    return (false);
                else
                    return (true);
            }
        }
 
        public object                   Item
        {
            get
            {
                return (_nod.Copy());
            }
        }
 
        public string                    Path
        {
            get
            {
                return (_nod.Name);
            }
        }
 
        public string                    Type
        {
            get
            {
                return ("ItvNod");
            }
        }
    }
Voila, j'ai cherché une bonne partie de l'apres midi sur le net et le forum et je n'ai pas trouvé de reponse... Merci d'avance de votre aide