Estoy mirando este control, y parece carecer de las propiedades .net "datasource" y "datamember" estándar para el enlace de datos. ¿Este control no es vinculable? Puedo escribir alguna función personalizada que llene la vista de árbol de una fuente de datos dada, supongo, e incrustar objetos de datos según sea necesario, pero ¿esa es la 'mejor práctica'? ¿O simplemente todo el mundo usa un control treeview de terceros?¿Cómo se relaciona con un control System.Windows.Forms.Treeview?
Respuesta
Tiene razón en que no hay enlace de datos. La razón es que TreeViews son estructuras de datos jerárquicas. Es decir, no es una lista directa. Como resultado, la opción de enlace de datos no es válida para decir una estructura de lista.
Lamentablemente está creando sus propios métodos pueblan o la compra de los controles de 3 ª parte (que al final va a tener sus propios métodos pueblan.)
Aquí está un artículo de MSDN decente en Binding Hierarchical Data.
Si solo son un par de niveles, me gusta llenar un conjunto de datos con un par de tablas y configurar una DataRelation en las columnas. Luego usa algunos bucles anidados y crea sus nodos de árbol.
Uso el control de árbol desde Developer's Express. Tomará una tabla de datos y la mostrará/editará de forma jerárquica. Todo lo que necesita es un campo de clave principal y un campo de identificación padre en la tabla y puede averiguar qué va donde.
Puede hacer lo mismo si saca su propio código y usa su propia clase.
class Node
{
System.Collections.Generic.List<Node> _Children;
String Description;
void Node()
{
_Children = new System.Collections.Generic.List<Node>();
}
public System.Collections.Generic.List<Node> Children()
{
return (_Children);
}
}
class Program
{
static void Main(string[] args)
{
System.Collections.Generic.List<Node> myTree = new System.Collections.Generic.List<Node>();
Node firstNode = new Node();
Node childNode = new Node();
firstNode.Children().Add(childNode);
}
}
- 1. ¿Se relaciona con un método en WPF?
- 2. ¿Cómo se relaciona Jira con git?
- 3. ¿Cómo se relaciona Capistrano con Rake?
- 4. ¿Cómo se relaciona el quicksort con el caché?
- 5. ¿Cómo se relaciona SIGINT con las otras señales de terminación?
- 6. ¿Cómo se relaciona TDD con la programación extrema?
- 7. ¿Cómo se relaciona Angular JS con Google Closure?
- 8. ¿Cómo se relaciona BI con la minería de datos?
- 9. ¿Qué es hiedra? y cómo se relaciona con la hormiga?
- 10. ¿Qué es Cordova y cómo se relaciona con PhoneGap?
- 11. ¿Qué es SSL y cómo se relaciona con HTTPS?
- 12. ¿Cómo relaciona ggplot2 grobs con los datos?
- 13. ¿Qué es "sal" cuando se relaciona con MYSQL sha1?
- 14. ¿Cómo sabe Windows qué versión de Visual Studio se relaciona con un archivo .sln?
- 15. ¿Cómo se relaciona la versión de Java de Android con una versión de Java SE?
- 16. ¿Cómo se relaciona el principio de responsabilidad única con el modelo de dominio anémico/rico?
- 17. Integración continua: ¿cómo relaciona sus compilaciones con requisitos/tareas/errores?
- 18. ¿Con qué se relaciona un vector de C++ en Objective-C?
- 19. ¿Cómo se relaciona el Marco Reactivo (Rx) con las Tareas en .NET 4?
- 20. ¿Cómo se relaciona la palabra clave `primary key` con los índices agrupados en SQL Server?
- 21. ¿Cómo se relaciona una columna múltiple en una tabla con SQLite FTS3?
- 22. ¿Cómo se relaciona una tabla de símbolos con las cadenas estáticas y el alcance?
- 23. ¿cómo se relaciona el código de operación de PHP con el código binario realmente ejecutado?
- 24. ¿Qué es un subproceso de CPU y cómo se relaciona con los subprocesos lógicos en el código?
- 25. ¿Cómo se relaciona el tiempo de 12 horas hh: mm en una expresión regular?
- 26. ¿Cómo se relaciona el tamaño de la pila del proceso en Linux con pthread, fork y el ejecutivo?
- 27. ¿Cómo detectar que se está moviendo un control?
- 28. ¿Qué es el "reino" en la autenticación IIS y cómo se relaciona con los parámetros del certificado SSL?
- 29. ¿Cómo se accede al contenido de un control ASP.NET?
- 30. ¿Cómo se puede enlazar un control de usuario XAML personalizado?