Я разработал приложение, которое заполняет древовидное изображение из иерархических данных в базе данных.Как только показать знак расширения TreeView [+], если существуют дети
Я разработал его для использования ленивой загрузки, поэтому он получает дочерние узлы только при расширении узла.
Моя проблема в том, что, очевидно, я не знаю, есть ли у узла дети, если я не позвоню в базу данных и не посмотрю. В настоящее время я реализовал фиктивный дочерний узел, так что значок [+] появляется для всех узлов, затем я удаляю этот фиктивный узел и получаю реальные дочерние узлы в событии BeforeExpand
.
Это означает, что я получаю значок [+] для узлов, у которых нет дочерних узлов, поэтому пользователь нажимает значок развернуть, и ничего не показывают, что выглядит немного дрянным.
Что такое метод preffrred для обработки дочерних узлов в древовидной структуре с ленивой загрузкой? Если я позвоню в базу данных, чтобы узнать, есть ли дочерние узлы, я мог бы просто загрузить дочерние узлы и забыть о ленивой загрузке?
Одна мысль, что я должен был хранить флаг «HasChildren» в базе данных, поэтому я могу выборочно создавать свой фиктивный дочерний узел только для узлов, которые на самом деле do имеют дочерние узлы.
Извините за бессвязными, мне очень интересно посмотреть, что другие люди думают ...
BTW: это Treeview в Visual Studio 2005 –