2010-06-11 7 views
0

Dans cette composante http://wwwendt.de/tech/dynatree/index.htmlLoading Lazy dynatree

sous 5,4 nœuds enfants de chargement à la demande (« chargement paresseux »)

il semble que la seule façon de charger les nœuds d'arbre d'une manière paresseuse est Prenez-les du service Web. Que faire si je veux récupérer les nœuds d'une structure de données?

tels que:

onLazyRead: function(dtnode){ 

       dtnode.appendAjax({ 
        //url: "sample-data2.json" 
        //grab the nodes here from array 
       }); 
    } 

Un conseil? Une autre question: quand onLazyRead est exécuté, l'arbre entier est-il à nouveau rendu?

Répondre

0

Vous pouvez utiliser

dtnode.addChild(dict); 

au lieu de

.appendAjax(...) 

Dans les deux cas, doivent se rendre uniquement les nœuds modifiés.

dict doit être formaté comme la réponse JSON. Vous pouvez également générer dict à partir d'un arbre ou d'un noeud donné en utilisant la méthode toDict().

+0

oh, à chaque fois que l'addChild est invoqué, seuls les nœuds ajoutés sont rendus à nouveau? Ma compréhension était d'utiliser prudemment addChild car l'arbre entier est rendu. J'optimise l'arbre sans avoir à aller au serveur à chaque fois que le nœud se développe, d'où les questions insolites. – sarsnake