asp.net асинхронное дерево - PullRequest
0 голосов
/ 09 марта 2012

Я пытаюсь построить динамическое древовидное представление, которое заполняется, когда пользователь нажимает на один из плюсов.в моей базе данных есть записи, которые работают как родительские и дочерние, поэтому запись имеет ссылку на свою родительскую запись и ссылку на все дочерние записи (я думаю, что работа базы данных не имеет значения, поэтому я не буду объяснять).Проблема в том, что некоторые записи могут иметь до 1000000 дочерних записей, и, как вы можете видеть, загрузка всех их одновременно может вызвать некоторые проблемы, поскольку вы можете загружать миллионы узлов одновременно.

так что мне было интересно, есть ли у кого-нибудь какие-нибудь глупые учебники по древовидным представлениям.

1 Ответ

3 голосов
/ 09 марта 2012

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 будет запущено.

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