1. 要件
部門ツリーの生成が必要です。最初はルート部門のみがリストされます
部門ノードをクリックすると、部門の下にある直接のサブ部門が動的にロードされ、部門ノードが表示されます。展開されます
右クリックイベントをサポートするには部門ノードが必要です
2. 主なクラス
Ext JSの主なクラスは次の2つです。 :
Ext .tree.TreeNode
Ext.menu.Menu
関連 API は http://extjs.com/deploy/ext/docs/
3 を参照してください。 . コード例
1. まずテスト ページを見てください
TreePanel の並べ替え < ;!-- 例の一般的なスタイル -->
< ;link rel="stylesheet" type="text/css" href="../shared/lib.css" />
< h1>次に、動的ツリーを生成する必要があります
2. スパニングツリー関数をもう一度見てみましょう
** ***************************************/
function myExpand(node){
if(node.id=='1'){
if(node.item(0 )==unknown){
node.appendChild(new Ext.tree .TreeNode({
id:node.id '1',
text:node.text "長男",
hrefTarget:"mainFrame",
listeners:{//Listening
"click":function(node,e){
expand2(node)
}
}
} ));
}
node.expand ();
}else if(node.id=='2'){
node.appendChild(new Ext.tree.TreeNode({
id:node.id ' 2'、
text:node.text "長男"、
hrefTarget: "mainFrame"、
リスナー:{//Listening
"click":function(node){
Expand2(node)
}
}
}));
}else{
alert (node.id "これ以上のサブ部門はありません");
読者は上記のコードを自分で実行すると、次の現象がわかるでしょう。「子会社 1」を何回クリックしても、「子会社 1 の長男」というノードが 1 つだけ表示され、毎回「子会社 1」が表示されます。 「2」をクリックすると、「子会社の長男2」ノードが追加されるのはなぜでしょうか。
クリックするたびにmyExpand関数がトリガーされ、「補助1」にnode.item(0)==unknownの判定が追加されるためです。
つまり、この部門の下にサブ部門がない場合はサブ部門がロードされ、そうでない場合は展開されるだけで再ロードされません。
それでは、眠いので詳しくは説明しませんo(∩_∩)o…ははは