ASP.NET TreeView и загрузка данных по требованию - PullRequest
4 голосов
/ 01 октября 2010

Есть ли способ заставить TreeView загружать данные по требованию?С другой стороны, TreeView должен загружать данные только тогда, когда узел должен быть расширен.TreeView привязан к коллекции данных, которая реализует IHierarchyData.

Ответы [ 2 ]

10 голосов
/ 17 июля 2011

Три шага, чтобы сделать трюк:

1 - Установите TreeView.ExpandDepth на 0 . Это исключает расширение добавленных TreeNode объектов в TreeView и показывает символ расширения [+] рядом с каждым TreeNode, для которого свойство TreeNode.PopulateOnDemand установлено в true .

2 - Установите TreeNode.PopulateOnDemand в True для каждой ветви TreeNode. Когда коллекция TreeNode.ChildNodes равна пусто , символ расширения [+] будет отображаться только рядом с TreeNode объектами, свойство TreeNode.PopulateOnDemand которых установлено в true .

3- Обрабатывать событие TreeView.TreeNodePopulate , чтобы разложить узлы ветвления при расширении. Это событие будет запущено, когда TreeNode - с TreeNode.PopulateOnDemand, установленным в true - - расширено непосредственно перед тем, как событие TreeView.TreeNodeExpanded будет запущено.

0 голосов
/ 10 июля 2012

Или вы можете просто заполнить свое дерево на основе различных доступных событий, вместо того, чтобы загружать все дерево сразу

...