Bonjour (désolé c'est encore moi...),

Je developpe un intranet avec lequel un utilisateur peut affiner les resultat de sa recherche en navigant dans un TreeView. A gauche, le TreeView en question et a droite, un DataGrid qui contient tous les documents fils depuis le noeud du TreeView (les documents ne sont pas des noeuds, mais sont soumis a la hierarchie de l'arbre).

Lorsque l'utilisateur selectionne un noeid je dois envoyer au DataGrid les données necessaire pour permettre d'afficher les documents recherchés depuis un Bdd. Jusque la ca va pas si mal.

Mon probleme actuellement c'est que lorsque l'utilisateur selectionne un noeud du TreeView, le DataGrid a "un coup de retard".

En y reardant de plus pres, lorsque je selectionne mon noeud, la page est rechargé et l'evenement de la selection est consomé... Je ne comprend pas pourquoi ma page se recharge AVANT que l'evenement de sa precedente ne soit consomé...
Ca fait : *Selection du noeud* ... Page_Load->Evenement_Selection

Je ne comprend pas.

Voila le code de l'evenement (OnSelectedNodeChange, propre au TreeView)
C'est dans la classe de l'arbre.
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
        // Evenement lors de la selection
        private void                ST_SelectedIndexChange(object      sender,
                                                           EventArgs   e)
        {
            ItvTreeKey                  cur = null;
            ItvTreeKeyCollection        tkeys = (ItvTreeKeyCollection)Session["keys"];
            Docmat.UserControls.Content sync = new Docmat.UserControls.Content();
 
            cur = tkeys.Get(Int32.Parse(STree.SelectedNode.Value));
            Session["hb"] = cur.Hb;
            Session["lb"] = cur.Lb;
            Session["lvl"] = cur.Lvl;
            Session["name"] = cur.Name;
        }
 
		private void                InitializeComponent()
		{
            this.STree.SelectedNodeChanged += new System.EventHandler(ST_SelectedIndexChange);
}
Le Page_Load du dataGrid est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
        public void             Page_Load(object        sender,
                                          EventArgs     e)
        {
            this.getDocs();
            DG_Content.DataSource = (DataSet)(Session["dataHolder"]);
            DG_Content.DataBind();
        }
Je suppose que ce genre de probleme est recurent, mais je n'ai rien trouvé en cherchant sur le forum...

J'ai bien pensé a recharger la page, mais qd ? vu qu'il s'agit de deux UserControls differents je n'ai pas accès au control lors de la selection du noeud.

Merci d'avance de votre aide, j'ai vraiment besoin d'une explication.