OVH Cloud OVH Cloud

Treeview

2 réponses
Avatar
Fabo
Bonjour,

Je suis actuellement en train d'utiliser le treeview.
Etant donn=E9 que le volume des donn=E9es peut =EAtre assez=20
gros, je load le contenu des noeuds au fur et =E0 mesure que=20
l'utilisateur clic sur ces noeuds.
Mon treeview est donc "autopostback =3D true" et je r=E9cup=E8re=20
la propri=E9t=E9 "SelectedNodeIndex" pour connaitre le noeud=20
qui doit =EAtre charg=E9.

Tout va bien jusqu'ici !
Le probl=E8me est que quand je clic sur le '+' au niveau=20
d'un noeud pour =E9galement charg=E9 son contenu, la=20
propri=E9t=E9 "SelectedNodeIndex" ne prend pas le noeud sur=20
lequel j'ai cliqu=E9 sur '+'.

Ma question est donc : comment connaitre le noeud dont son=20
contenu doit =EAtre charg=E9 si l'utilisateur n'a pas cliqu=E9=20
sur le noeud lui m=EAme mais sur le '+' situ=E9 =E0 c=F4t=E9 ?


Merci d'avance c'est urgent !

Fabo

2 réponses

Avatar
David Scime
Le Tue, 10 Aug 2004 08:29:01 -0700, "Fabo"
a écrit :

Bonjour,

Je suis actuellement en train d'utiliser le treeview.
Etant donné que le volume des données peut être assez
gros, je load le contenu des noeuds au fur et à mesure que
l'utilisateur clic sur ces noeuds.
Mon treeview est donc "autopostback = true" et je récupère
la propriété "SelectedNodeIndex" pour connaitre le noeud
qui doit être chargé.

Tout va bien jusqu'ici !
Le problème est que quand je clic sur le '+' au niveau
d'un noeud pour également chargé son contenu, la
propriété "SelectedNodeIndex" ne prend pas le noeud sur
lequel j'ai cliqué sur '+'.

Ma question est donc : comment connaitre le noeud dont son
contenu doit être chargé si l'utilisateur n'a pas cliqué
sur le noeud lui même mais sur le '+' situé à côté ?


Merci d'avance c'est urgent !

Fabo




Peut-etre que la quantité de données à placer dans ton TV n'est pas si
énorme..
Une astuce.. charge entièrement tes données mais juste avant ta boucle
qui ajoute les noeuds à ton treeview appelle la méthode
TV.SuspendLayout.. qui empêche le controle de se redessiner..
Une fois la boucle bouclée appelle TV.ResumeLayout.. qui redessine ton
TV avec tous ces nouveaux noeuds..

Cela permet d'économiser beaucoup de temps..

Si ca ne suffit pas faudrait aller chercher plus loin..

Tiens nous au courant!


David Scime

Avatar
Fabo
Effectivement, je sais que le volume de données est grand.
Merci quand même pour cette information, mais j'avais
oublié de dire que j'étais en ASP.NET.
Est-il possible de déclencher une action côté serveur
lorsque l'utilisateur clique sur le '+' d'un noeud en
ASP.NET ? Si oui auriez-vous un exemple d'utilisation.

Merci encore

Fabo
-----Message d'origine-----
Le Tue, 10 Aug 2004 08:29:01 -0700, "Fabo"
a écrit :

Bonjour,

Je suis actuellement en train d'utiliser le treeview.
Etant donné que le volume des données peut être assez
gros, je load le contenu des noeuds au fur et à mesure




que
l'utilisateur clic sur ces noeuds.
Mon treeview est donc "autopostback = true" et je




récupère
la propriété "SelectedNodeIndex" pour connaitre le noeud
qui doit être chargé.

Tout va bien jusqu'ici !
Le problème est que quand je clic sur le '+' au niveau
d'un noeud pour également chargé son contenu, la
propriété "SelectedNodeIndex" ne prend pas le noeud sur
lequel j'ai cliqué sur '+'.

Ma question est donc : comment connaitre le noeud dont




son
contenu doit être chargé si l'utilisateur n'a pas cliqué
sur le noeud lui même mais sur le '+' situé à côté ?


Merci d'avance c'est urgent !

Fabo




Peut-etre que la quantité de données à placer dans ton TV


n'est pas si
énorme..
Une astuce.. charge entièrement tes données mais juste


avant ta boucle
qui ajoute les noeuds à ton treeview appelle la méthode
TV.SuspendLayout.. qui empêche le controle de se


redessiner..
Une fois la boucle bouclée appelle TV.ResumeLayout.. qui


redessine ton
TV avec tous ces nouveaux noeuds..

Cela permet d'économiser beaucoup de temps..

Si ca ne suffit pas faudrait aller chercher plus loin..

Tiens nous au courant!


David Scime

.