2016-04-26 10 views
0

このコードは役に立ちますか?それはなぜ私が望むデータをロードしていないのですか?私はこのプロセスを使用せずに子供を追加することができますが、私はこれを行う方法を知りたいです。これは私がこれがなぜ必要なのか、とにかくうまいです。Extjs 3.4 Ext.tree.TreePanel with TreeLoader

db_switcher.app.tree = new Ext.tree.TreePanel({ 
       renderTo: 'treePanel', 
       useArrows: true, 
       autoScroll: true, 
       animate: true, 
       enableDD: true, 
       containerScroll: true, 
       border: false, 
       width: 300, 
       // auto create TreeLoader 
       //dataUrl: 'get-nodes.php', 


       //root: { 
       // nodeType: 'async', 
       // text: 'Database', 
       // draggable: true, 
       // id: 'source', 
       // children: [] 
       //} 

       loader: new Ext.tree.TreeLoader({ 
        dataUrl: 'db_switcher/data' 
        //requestMethod: 'POST' 
        //listeners: { 
        // beforeload: function() { 
        // this.baseParams.subFolderID = clickedVal; 
        //  } 
        //} 
       }), 
       root: new Ext.tree.AsyncTreeNode({ 
        expand: true, 
        text: "/", 
        id: "/" 
       }), 
      }); 

      db_switcher.app.tree.getRootNode().expand(); 

これは、正確なデータ形式である:

[{"db_id":1,"db_host":"xx.xxx.x.xxx","db_name":"service_management","db_user":"xxx","db_driver":"mysql "},{"db_id":2,"db_host":"xx.xxx.x.xxx","db_name":"support_tool","db_user":"xxx","db_driver":"pgsql "}] 

私は誰かがここで私を助けることができると思います。

+0

編集データ: [ { "ID":1、 "テキスト": "xx.xxx.x.xx(service_management)"、 "リーフ" :真 }、{ "ID":2、 "テキスト": "xx.xxx.x.xx(support_tool)"、 "リーフ" 真 }] – n4mi

+0

ローダのためのオートロードは、存在しませんしたがって、db_switcher.app.tree.getLoader()。load()を実行する必要があります。 – Michel

+0

次の行は、 "TypeError:b is undefined"というエラーのみを生成します。@Michel – n4mi

答えて

0

私はまったく同じ問題を抱えていましたが、jsonでリーフ属性が見つからない場合、レンダリングが正しく機能しないようです。ここ

は、作業フィドルを行く:https://fiddle.sencha.com/#fiddle/1s5k&view/editor