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..