0

私の Treepanel には 'treePanel' という ID があり、問題なく動作します。

パスの例:

/subfolder3/abc

expandAll()ツリー パネルですべてを展開すると機能しますが、expandPath()機能しません。

さて、あるイベントの後、ツリーのパスを拡張したいと思います。しかし、私はそれを作ることができません。

これまでのところ、私は試しました:

var oTreePanel = Ext.getCmp('treePanel');

oTreePanel.expandPath('/subfolder3/abc'); // or '/subfolder3' or '/root/subfolder3'

エラーメッセージはありませんが、ツリーにも変化はありません。

何をすべきか?

編集

oTreePanel.selModel.getSelection()[0].getPath()です/root/

私が試したこと:

  • path: /root=>successtruenode言うnode.data.id=""node.data.path=""

  • path: /root/=> successistruenode言うnode.data.id=""and node.data.path="/report_with_variables"(ツリーの最初のノード) andnode.data.parentId= "root"

  • パス:/root/subfolder3へ パス:successfalsenode言うnode.data.id=""node.data.path=""node.getPath()/root

ツリーに対する私の Json レスポンスは次のようになります。

{"status":{"status":0,"msg":"Ok","protocolversion":"extjs.json"},"value":{"name":"","path":"\/","type":"folder","leaf":false,"children":[{"name":"report_with_variables","path":"\/report_with_variables","type":"report","leaf":true,"title":"Report ohne Variablen","description":null},{"name":"subfolder1","path":"\/subfolder1","type":"folder","leaf":false},{"name":"subfolder2","path":"\/subfolder2","type":"folder","leaf":false},{"name":"subfolder3","path":"\/subfolder3","type":"folder","leaf":false},{"name":"testreports","path":"\/testreports","type":"folder","leaf":false}]}}
4

2 に答える 2

3

expandPath正常に動作する場合は、展開しようとしているパスを確認してください。パスはデフォルトでノードのモデルidPropertyフィールドに作成されます。これはidモデル データのプロパティです。例で使用しようとしているものとは異なる可能性があります。

  1. パスとノードの ID を確認する
  2. 次の形式で expandPath を実行してみてください。

    tree.expandPath(path, null, null, function(success, node) { //analyse method execution
    });

    したがって、コールバック関数で何が起こっているかを分析できます。

    • success が false で node が null の場合、パスは空です

    • success が false で node = root node の場合、パスよりも最初は無効です

    • success が false でノードがルートでない場合、パスは部分的に無効です

  3. getPath()メソッドを使用してツリー内のいくつかのノードのパスを取得しようとし、取得したパスを次のように使用しますexpandPath

    var n = node.getPath(); tree.expandPath(path);

    それは動作するはずです

于 2012-08-31T10:25:51.030 に答える
0

これと同じ問題がありました。私の場合、expandPath のコールバックは呼び出されませんでした。

これは、expandPath メソッドを呼び出すときに、ツリー ストアがまだ前の要求をロードしていたためです。expandPath を呼び出す前に、tree.store がロードされていないことを確認してください。

たぶん、これはあなたや他の人に役立ちます。

于 2013-01-17T17:24:50.800 に答える