Question

Je suis actuellement en utilisant un RadTreeView et juste basculé sur l'utilisation de charge-On-Demand (ServerSideCallback) pour améliorer les performances. Sur chaque nœud, j'utilise un RadContextMenu pour ouvrir un pop RadWindow. Dans le RadWindow, mettre à jour des informations sur le noeud I sélectionné dans le RadTreeView (comme le changement de son nom, etc.). Quand je ferme la RadWindow, je déclenche le RadTreeView à redéfinissez (depuis que je fait des changements et que vous souhaitez obtenir les données les plus fraîches). Mon problème est, quand je suis 4 ou 5 niveaux de profondeur dans l'arbre, je n'ai aucun moyen de sélectionner à nouveau le nœud que je viens. C'était facile quand je n'utilisais pas de charge-On-Demand puisque tous les nœuds étaient seulement une partie de l'arbre. Comment puis-je faire maintenant que j'utilise Load-On-Demand?

Je l'ai déjà écrit une méthode pour faire le travail à obtenir TOUS les parentIds qui mènent au nœud en question. Par exemple, pour l'arbre donné:

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

Disons que quand je REBIND, je voulais revenir à « F », je l'ai déjà une méthode qui retourne « A, B, F », qui est le chemin complet retour à « F ».

Merci, Brian

Était-ce utile?

La solution

Dans ce cas, vous devez définir le ExpandMode de tous les parents de ce noeud à InfoClient. Sinon, le premier parent ne sera pas étendu (qui est l'idée de la charge sur demande) et le noeud en question ne serait pas visible.

Vous pouvez trouver le premier parent et appeler son expand () méthode javascript, puis en cas OnClientNodePopulated trouver le parent suivant et appeler sa méthode expand () et ainsi de suite jusqu'à ce que vous obtenez au nœud souhaité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top