Re-load treeview

akira3 Messages postés 25 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 11 décembre 2006 - 23 nov. 2006 à 09:17
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 nov. 2006 à 19:36
bonjour,

Dans l'évenement load de mon treeview je rattache les elements de ma base de données à mon treeview.
quand j'effectue des mises a jour sur les elements de ma base de données il recharge les nodes mais deux,trois fois d'affilé.
à cause de mon node principal que j'ai sauvegardé dans mon objet session(je le charge dans mon load de la page et le sauvegarde dans le unload.
Auriez vous une idée à me proposer ?j'ai déja essayé de clear mes nodes ou bien de faire un(! ispostback) dans le load du treeview  mais rien n'y fait..








protected



void
TreeView2_Load(

object
sender,

EventArgs
e){

db.tableCatégorie1();


//select* from categorie






for
(

int
i = 0; i < db.DS.Tables[

"r1"
].Rows.Count; i++){


string
c =

""
+ db.DS.Tables[

"r1"
].Rows[i][

"NomCatégorie"
];


int
idc =

int
.Parse(

""
+ db.DS.Tables[

"r1"
].Rows[i][

"idCatégorie"
]);


TreeNode
p;p =


new



TreeNode
(c);p.ChildNodes.Add(


new



TreeNode
(

"ajouter une sous-catégorie"
));p.ChildNodes.Add(


new



TreeNode
(

"supprimer"
));root2.ChildNodes.Add(p);

root2.CollapseAll();


//select*from souscategorie

db.afficherscategories();







for
(

int
j = 0; j < db.DS.Tables[

"allsc"
].Rows.Count; j++){


try

{







//récup de catégorie dans sous catégorie






int
idc2 =

int
.Parse(

""
+ db.DS.Tables[

"allsc"
].Rows[i][

"idCatégorie"
]);


string
sc = db.treetablesousCatégorie(idc);


TreeNode
t;t =


new



TreeNode
(sc);p.ChildNodes.Add(t);

db.tableCatégorie1();

}


catch
(

Exception
ex2){

labelerreur.Text = ex2.Message;

db.tableCatégorie1();

}

}

db.tableCatégorie1();

}

TreeView2.Nodes.Clear();

TreeView2.Nodes.Add(root2);

}


et dans le load me ma page



if
(Session[

"root2"
] !=

null
)



{


root2 = (TreeNode)Session[
"root2"];


}



else



{


root2 =




new



TreeNode
();root2.Text =


"catégorie"
;root2.ChildNodes.Add(


new



TreeNode
(

"new catégorie"
));


this
.TreeView2.Nodes.Add(root2);Session[


"root2"
] = root2;}

voila!le truc basique quoi!mais dés que je fais des mises à jour mon root2 fait sa merde.
pourriez vous m'aider s'il vous plait..

2 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
23 nov. 2006 à 10:06
Question déplacer dans le forum www.aspfr.com

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 nov. 2006 à 19:36
Bonjour,

n'utilises pas l'evenement unload de la page car celui ci sera appellé quand bon semblera au garbage collector ... utilises plutot la méthode Render (overridable).

En ce qui concerne ton problème je ne comprend pas ce que tu veux dire par "quand j'effectue des mises a jour sur les elements de ma base de données il recharge les nodes mais deux,trois fois d'affilé." tu peux expliciter ?

<hr />Cyril - MVS - MCP
0
Rejoignez-nous