1
私はExtend4を使用しています。私はtreepanelをリロードし、特定のノードにツリーメニューを展開する必要があります。 次のコードを使用しています。どうすればいいのか教えてください。事前にExtjs 4 treepanel Reload and Expand
//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はうまく読み込んでいますが、展開していませんが、firebugではエラー "node.getPath not a function"が表示されます。 – siva565
ああ、私の悪い、ごめんなさい、ExtPath4でgetPath()が消えてしまいました。希望のノードを展開するには別の方法がありますが、この記事のMolecule Manの答えを見てください。http://stackoverflow.com/questions/6709106/ expand-a-tree-path-by-internalid-as-parameter –
humm ..ありがとうByteありがとうございました。それはうまく動作します。ノードは私が期待しているものを正確に展開しますが、選択されていません(スタイルに影響します)。一般に、選択されている任意のツリーノードは、選択されたスタイルが異なる。手伝って頂けますか? – siva565