Unir un RadGrid a un árbol como la estructura de datos
-
18-09-2019 - |
Pregunta
Tengo una estructura que se ve siguiente
Class TreeNode {
public TreeNode Parent { get; }
public IEnumerable<TreeNode> Children { get; }
public . . . .
}
Quiero unir a un asp.net telerik RadGrid con tablas de detalles para cada nivel de los niños. Sé que RadGrid apoya declarativa de unión a una jerarquía autorreferenciados usando un control de origen de datos, sino que se supone que tiene un conjunto de datos plana (por ejemplo, de una base de datos) y puede mirar un campo de clave principal de algún tipo. Mi pregunta ¿alguien ha enlazado un RadGrid a una estructura de datos como esto antes y hay una manera de hacerlo de forma declarativa o mayormente declarativa?
Solución
No puedo responder a su pregunta directamente, ya que no tengo experiencia con la red telerik, pero puedo ofrecer una solución alternativa.
Agregue un método a su clase que se aplana su contenido en una tabla de referencia a sí misma como la estructura como la que usted ha mencionado. De esta manera usted todavía puede trabajar con la clase y es más avanzada estructura como usted quiere, pero todavía puede dar salida a las sustancias en una forma consumible que coincide con las expectativas de los componentes de interfaz de usuario.
Este es también un buen candidato para un método de extensión también.
Otros consejos
Otra posibilidad que se me ocurre es la construcción de la jerarquía de forma dinámica mediante el filtrado de la fecha de las tablas secundarias en base a su padre en el interior del controlador de red de DetailTableDataBind. Esta demo es una buena referencia:
http://demos.telerik.com /aspnet-ajax/grid/examples/programming/detailtabledatabind/defaultcs.aspx
pero debo de acuerdo en que la sugerencia de Stephen podría ser más práctico.
Dick