1
Я использую древесную панель Extjs4 с данными Json. Я хочу перезагрузить древовидную структуру и вам нужно развернуть дерево меню на указанный узел. Я использую следующий код. Пожалуйста, дайте мне знать, как это сделать.Extjs 4 treepanel Перезагрузка и разворачивание
//Define tree store
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'my_tree.php',
},
noCache: false
});
// Treepanel
var treePanel = Ext.create('Ext.tree.Panel', {
id: 'mytree',
renderTo: 'tree_div',
height: 400,
bodyBorder: false,
border: false,
singleExpand: true,
rootVisible: false,
store: store,
useArrows: true
});
//Reload tree
function reload_tree(){
var tree_panel = Ext.getCmp('mytree');
tree_panel.enable();
tree_panel.getLoader().dataUrl = 'my_tree.php';
tree_panel.getLoader().load(tree_panel.root);
//Expand tree node
tree_panel.getLoader().on('load', function(loader, node){
tree_panel.getNodeById(nodeid).expand();
//here node id is tree menu nodeid
});
}
Заранее спасибо
Спасибо за ваш быстрый повтор. Деревопанель загружается отлично, но не расширяется. В firebug отображается ошибка «node.getPath не функция». – siva565
О, мой плохой, извините, что getPath() исчез в ExtJS 4, хотя у вас есть и альтернативный способ расширить желаемый узел, пожалуйста, посмотрите на ответ Molecule Man в этом посте http://stackoverflow.com/questions/6709106/ expand-a-tree-path-by-send-the-internalid-as-parameter –
humm .. Спасибо Байт-раб сильно благодарит. Это прекрасно работает. Узел расширяет то, что я ожидаю, но он не выбран (влияет на стиль). Обычно, если какой-либо выбранный узел treemunu имеет несколько разных выбранных стилей. можешь мне помочь? – siva565