Este es un System.Windows.Forms.TreeView, no un WPF o Web TreeView.Carga diferida de TreeView en .NET
Debo extrañar algo, porque no puedo creer que esto sea tan difícil.
Tengo un TreeView en mi formulario. Cargar todos los datos para rellenar el TreeView es muy lento, por lo que quiero cargar solo los nodos de nivel superior y luego completar los secundarios a medida que el usuario amplía los nodos. El problema es que si un nodo no tiene hijos, no muestra el signo + al lado del nodo, lo que significa que no se puede expandir, lo que significa que no puedo capturar un evento desplegable para cargar los hijos .
Hace años, cuando estaba usando PowerBuilder, establecía una propiedad HasChildren (o similar) en true para esencialmente "mentir" al control y obligarlo a mostrar el + y luego podía capturar el evento desplegable. No he podido averiguar cómo forzar que aparezca un + en un nodo cuando no hay nodos secundarios.
He intentado un enfoque donde agrego un nodo ficticio a cada nodo y luego en la verificación de expansión si el nodo ficticio está presente y lo quito y luego cargo los niños, pero por diversas razones que no vale la pena entrar aquí esa solución no es viable en mi situación.
He buscado en Google varias combinaciones de C#, treeview, demorado, diferido, carga, fuerza, expansión y algunos otros términos que ahora se me escapan sin suerte.
P.S. Encontré el proyecto TreeViewAdv en SourceForge, pero prefiero no introducir un nuevo componente en nuestro entorno si puedo evitarlo.
Siempre he usado el método de nodo ficticio; generalmente funciona bastante bien. ¿Puede decirnos más acerca de por qué no funcionará para usted? – Charlie