Hi,
I'm using a dijit Tree widget hooked into a read-only data store, based on the one given here:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/data/demos/demo...
My problem hinges on the fact that when a Node in the dijit Tree gets clicked, it sometimes chooses to expand all of its subnodes. Because certain branches of my data store may contain extremely large data sets, it is absolutely critical that the tree lazy-load only the next deepest layer of data, and not recurse all the way down into the data hierarchy. This is what happens when the Tree Node attempts to expand all of its subnodes. When this happens, the effect is that the application locks up, as it attempts to traverse, and convert to JSON, an unreasonably large data set. I believe that the Tree logic is likely to blame, because I have observed it attempting to expand all of its subnodes at unexpected times, and this attempt would cause the observed phenomenon.
I'd like to be able to offer a reduced example of the case in which the tree node expands all of its subnodes, but unfortunately, this seems to occur intermittently, and so I'm hoping that this will still be meaningful to someone without an example. This does, however, seem to occur only after the third or fourth layer of depth.
My questions are:
What causes a tree node to decide to expand all of its subnodes?
Is there any way to explicitly request that a tree node only load its immediate children? It would be great if there was a nice entry-point to this logic, like an option passed in when the Tree is instantiated.
I'd greatly appreciate any guidance anyone can offer. Thanks,
Jake

Turns out the problem was
Turns out the problem was resolved by setting the persist option to false. This is now how I currently initialize the tree:
this.model = new dijit.tree.CheckboxTreeStoreModel({
store: mstore,
query: {isroot:true},
childrenAttrs: ["children"],
persist:false
});
Lazy-loading now works fine.
Jake