0

アプリケーションの作成にExtJSライブラリを使用しています。ツリーノードと子ツリーノードを持つツリーパネルがあります。これらのツリーノードには、アクセスできるようにしたいリーフがあります。私はしばらく探していましたが、葉にアクセスするためのプロパティの関数を見つけることができません:(

いくつかのコードはここにあります:

var i;
var j = 0;
var selectedLayers = new Array();
                                while(layerRoot.lastChild.hasChildNodes()){
                                    alert(layerRoot.lastChild.firstChild);
for(i = 0; i < layerRoot.lastChild.firstChild.childNodes.length; i++){
                                        if(layerRoot.lastChild.firstChild.childNodes[i].isSelected()){
                                            selectedLayers[j] = layerRoot.lastChild.firstChild.childNodes[i].attributes.text;
                                            alert(selectedLayers[j]);
j++;
} 
}

                                    layerRoot.lastChild.removeChild(layerRoot.lastChild.firstChild);
}
layerRoot.removeChild(layerRoot.lastChild);

layerRoot.lastChild.firstChild.childNodesを試しましたが、layerRoot.lastChild.firstChildの子がleafsであるため、これは機能しません:(。時間とフィードバックをいただければ幸いです。

エルシェ

4

2 に答える 2

1

TreePanelもいじり始めたばかりです。ツリーをトラバースし、leafプロパティを使用してノードが葉であるかどうかをテストする関数を作成する必要があると思います。リーフで実行したい特定の関数がある場合は、を使用cascade()してツリーを自動的にトラバースしleaf、途中でプロパティをテストしてコードを実行できます。

于 2010-10-20T17:58:07.013 に答える
0

TreePanelをチェックする必要があります。TreeGridは最新のextバージョン(3.3)で非推奨になる可能性があると思います。たくさんのget/set / traversal関数があります。ここのAPIでチェックしてください: http ://dev.sencha.com/deploy/dev/docs/?class = Ext.tree.TreePanel

于 2010-10-20T21:55:54.813 に答える