Pregunta

Actualmente estoy usando un RadTreeView y acabo de cambiar a utilizar Load-On-Demand (ServerSideCallback) para mejorar el rendimiento. En cada nodo, utilizo un RadContextMenu a meter abrir un RadWindow. En el RadWindow, puedo actualizar la información sobre el nodo que he seleccionado en el RadTreeView (por ejemplo, cambiar su nombre, etc.). Al cerrar la RadWindow, que desencadenan la RadTreeView a rebind (desde que hice los cambios y desea obtener los datos más frescos). Mi problema es que cuando estoy 4 o 5 niveles de profundidad en el árbol, no tengo manera de volver a seleccionar el nodo que vine. Esto era fácil cuando no estaba usando load-on-Demand ya que todos los nodos eran sólo una parte del árbol. ¿Cómo puedo hacer esto ahora que estoy usando load-on-Demand?

Ya he escrito un método para hacer el trabajo en conseguir todos los parentIds que conducen hasta el nodo en cuestión. Por ejemplo, para el árbol dado:

A
|__ B
|__ C
|__ D
      |__ E
      |__ F

Digamos que después de volver a enlazar, quería volver a "F", ya tengo un método que devuelve "A, B, F", que es la ruta completa de nuevo a "F".

Gracias, Brian

¿Fue útil?

Solución

En este caso es necesario configurar el ExpandMode de todos los padres de ese nodo a ClientSide. De lo contrario, no se ampliará el primer padre (que es la idea de la carga en la demanda) y el nodo en cuestión no sería visible.

Como alternativa, se puede encontrar el primer padre y llamar a su expansión () de JavaScript método, a continuación, en caso OnClientNodePopulated encontrar la siguiente matriz y llamar a su método de despliegue () y así sucesivamente hasta llegar al nodo deseado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top