Existe-t-il un moyen de forcer TreeView
à charger des données à la demande? D'autre part, TreeView
ne doit charger des données que lorsqu'un nœud doit être développé. TreeView
est lié à une collection de données qui implémente IHierarchyData
.ASP.NET TreeView et chargement de données à la demande
Répondre
Trois étapes pour faire l'affaire:
1 - Définir le TreeView.ExpandDepth à . Cela permet d'éliminer l'extension des objets ajoutés TreeNode
dans la TreeView
et montre le symbole de l'expansion [+ de] à côté de chaque TreeNode
qui a la propriété TreeNode.PopulateOnDemand
mis à vrai.
2- Réglez le TreeNode.PopulateOnDemand à vrai pour chaque branche TreeNode
. Lorsque la collection TreeNode.ChildNodes
est vide, le symbole de l'expansion [+] sera montré seulement à côté de TreeNode
objets qui a TreeNode.PopulateOnDemand
propriété définie sur vrai.
3- Gérez l'événement TreeView.TreeNodePopulate dans les nœuds de branche de poulate lors de l'expansion. Cet événement sera déclenché lorsqu'un TreeNode
- avec le TreeNode.PopulateOnDemand
défini sur true - a été étendu juste avant que l'événement TreeView.TreeNodeExpanded
ne soit déclenché.
Ou vous pouvez simplement peupler votre arbre en fonction des différents événements disponibles au lieu de charger votre arbre entier à la fois