Codesnippet for creating an tree store from flat data:
var me = this,
treeStore = me.getStore(),
rootNode = treeStore.getRootNode(),
node;
Ext.iterate(data, function(key, value){
//get node for appending next node
if(value.parent == 'root'){
node = rootNode;
} else{
node = rootNode.findChild('id', value.parent, true);
}
// create and add new node
if(Ext.isDefined(node) && node !== null){
node.appendChild({
id:key,
text: value.title,
leaf: false,
expanded: true
});
node.leaf = true;
node.expanded = true;
}
});