1
Json 데이터와 함께 Extjs4 treepanel을 사용하고 있습니다. treepanel을 다시로드하고 지정된 노드에 트리 메뉴를 확장해야합니다. 다음 코드를 사용하고 있습니다. 어떻게하는지 알려주세요. 사전에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
});
}
감사
빠른 재생을 해주셔서 감사합니다. treepanel이 잘로드되지만 확장되지 않습니다. 방화 광에서 오류 "node.getPath가 함수가 아닙니다"를 보여줍니다. – siva565
오, 미안하지만, ExtJS 4에서 getPath()가 사라졌습니다. 원하는 노드를 확장 할 수있는 대안이 있지만,이 게시물의 분자 맨 응답을 확인하십시오. http://stackoverflow.com/questions/6709106/ expand-a-tree-path-by-sending-the-internalid-as-parameter –
humm .. 감사합니다 Byte 노예 덕분에 많은. 괜찮아. 노드가 정확히 기대하고있는 것을 확장하지만 선택되지 않습니다 (스타일 영향). 일반적으로 선택된 어떤 트레 무 노드에는 다른 스타일이 있습니다. 너 나 좀 도와 줄 수있어? – siva565