Это мой код -TreePanel не расширяющиеся ExtJS 3
var myTree = {
containerScroll: "true",
width: 500,
root: new Ext.tree.AsyncTreeNode({
id: "source",
text: "Root",
expanded: true,
draggable: true,
expandable: true
}),
loader: new Ext.tree.TreeLoader({
dataUrl: 'page.php?action=Get_Tree',
preloadChildren: true,
expandAll: function() {}
}),
xtype: "treepanel",
loadMask: {
msg: 'Loading...'
},
maskDisabled: false,
id: "tree",
listeners: {
click: function (node, event) {
// Render entity data in right panel
handleAction(node);
}
}
}
, когда пользователь щелкает на любом узле дерева, я выборки данных из БД и визуализации другой панели, используя handleAction
метод. В моем случае мне нужно показать информацию о узле на другой панели и обновить ее. В обработчике обновления мне нужно изменить текст/id узла как обновленный.
Это прекрасно работает, но затем мне нужно обновить дерево, чтобы я мог просматривать обновленный узел. Но, это не работает для меня :(
Это мой код для обновления узла -.
var tree = Ext.getCmp('tree');
var id = req.responseText.split('#')[1];
var myId = 'Spec#' + entityId;
var node = tree.getNodeById(myId);
node.id = 'Spec#' + id;
node.text = updated_spec_id;
tree.enable();
tree.getLoader().dataUrl = 'page.php?todo=Get_Tree';
tree.getLoader().load(tree.root);
// This I have tried but not succeed.
tree.getView().refresh();
tree.expandAll();
node.expand();
tree.getRootNode().expand(true);
Однако, когда я вручную расширить его с помощью мыши узел обновляется
. Пожалуйста, помогите Спасибо заранее