Copie de Treeview

Signaler
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006
-
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006
-
Bonjour,

Je vais essayer d'être le plus clair possible :

J'ai une page avec un Treeview (rempli d'après une base de données)... J'en ouvre une autre et dans cette nouvelle page je souhaite afficher le treeview ?
Je peux bien sur le re-remplir d'après la base, mais n'y a-t-il pas un moyen qui permettrait juste de le copier, ou d'y faire référence ?

Voila je vous remercie d'avance de vos conseils et explications.

9 réponses

Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

on peut sans doute mettre en cache le dataset du premier et l'appeler ensuite.

@Gilles
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

Je n'utilise pas de DataSet. Il faudrait que celui ci soit hiérarchique (de type XML), or ca n'est pas mon cas.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour, tu peux mettre le menu dans un UserControl et mettre l'UserControl en cache avec les directives @Cache qui vont bien :-)

<hr />Cyril - MVS - MCP
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

Ok je vais essayer ca alors, Merci beaucoup ....
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

Alors j'ai essayé avec le cache :

Dans une page je fais :
    Cache["tv"] = monTreeView;

et dans l'autre, au chargement je fais :
    TreeView monTreeView2 = (TreeView)Cache["tv"];
        Controls.Add(monTreeView2);

La il me dit qu'il n'arrive pas a trouver d'instance de cet objet, donc qu'il ne trouve pas ce qu'il y a dans Cache["tv"].

Comment ca se fait ? J'ai oublié quelque chose ?
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

Cette erreur doit provenir du fait que je met le Treeview en cache de la page :(

Quelqu'un sait comment mettre en cache de l'application ?
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

J'ai essayé de mettre le Treeview en variable de session...

Ca marche superbement bien, mais est-ce correct ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Le Cache est global à l'application, la page n'as pas de cache (sinon je vois pas pourquoi ca s'appellerais Cache ...)

Mettre en cache veut dire mettre le rendu en cache, tu peux mettre l'instance de l'objet en cache mais c'est pas vraiment utile ... Pour mettre en cache il suffit de mettre ton treeview dans un UserControl et de rajouter la directive <%@ OutputCache duration="300" VaryByParam="none" %> car là ce que tu fais est une grosse bidouille :-)

<hr />Cyril - MVS - MCP
Messages postés
27
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
21 décembre 2006

Bon je laisse tomber les variables Session alors (dommage ca marchait bien lol)

J'ai donc une page qui contient un UserControl qui contient un TreeView.

Quand je clique sur un noeud du treeView, l'appli affiche des informations dans des champs...
J'utilise pour cela l'évènement OnSelectedNodeChanged, qui doit etre defini dans le acsx non ?

Mais alors comment avoir acces aux champs de ma page a partir de cette methode (a partir du UserControl en fait) ?