2012-07-16 42 views
0

我正在尝试构建一个动态树。我从C#WCF服务获取数据。它返回我JSON数据,但数据不反映在树中。 我使用EXTJS 4.Ext Js - TreeStore在使用ASP.net时不加载数据WCF服务

.JS代码 -

Ext.require([ 
    'Ext.tree.*', 
    'Ext.data.*', 
    'Ext.tip.*' 
]);  

Ext.onReady(function() { 
    Ext.QuickTips.init(); 

var store = Ext.create('Ext.data.TreeStore', { 
     proxy: { 
       type: 'ajax', 
       url: 'Services/InfographicsDataService.svc/GetTree' 
       }, 
     root: { 
       text: 'Ext JS', 
       id: 'src', 
       expanded: true 
       }, 
     reader: { 
       type: 'json', 
       root: 'd' 
       } 
    }); // End of store code  

    var tree = Ext.create('Ext.tree.Panel', { 
      store: store, 
      viewConfig: 
      { 
       plugins:{ ptype: 'treeviewdragdrop' } 
      }, 
     renderTo: 'tree-div', 
     height: 300, 
     width: 250, 
     title: 'Files', 
     useArrows: true 
    }); // End of tree  
}); // End of ready function 

这是代码在我的服务最终::

[OperationContract] 
[WebGet] 
public List<TreeNode> GetTree() 
{ 
    List<TreeNode> nodes = new List<TreeNode>(); 
     nodes.Add(new TreeNode() { id="src/ModelManager.js", text = 
    "ModelManager.js" }); 

     nodes.Add(new TreeNode() { id="src/data", text = "data" }); 
     nodes.Add(new TreeNode() { id="src/draw", text = "draw" }); 
     return nodes; 
} 

的Json通过WCF service--

返回
{"d":[ 
    { 
    "__type":"TreeNode:#Infographics.Services.Model", 
    "id":"src\/ModelManager.js", 
    "leaf":false, 
    "text":"ModelManager.js"  
    }, 
{ 
    "__type":"TreeNode:#Infographics.Services.Model", 
    "id":"src\/data", 
    "leaf":false, 
    "text":"data" 
}, 
{ 
    "__type":"TreeNode:#Infographics.Services.Model", 
    "id":"src \/draw", 
    "leaf":false, 
    "text":"draw" 
}] 
} 

调用服务器并返回数据但不添加树中的节点 P年龄正在显示根Extjs节点。

最初我想,这只是读者的根属性,我需要设置为“d”,但还有更多的东西丢失了。

有人可以帮我找到我正在犯的那个小错误吗?

回答

0

可以更改商店这样试试,

var store = Ext.create('Ext.data.TreeStore', 
{ 
    proxy: 
    { 
    type: 'ajax', 
    url: 'Services/InfographicsDataService.svc/GetTree', 
    reader: 
    { 
     type: 'json', 
     root: 'd' 
    } 
    }, 
    root: 
    { 
    text: 'Ext JS', 
    id: 'src', 
    expanded: true 
    } 
}); 
+0

大哥,我告诉你,你是CHAMP :)。谢谢 – 2012-07-16 14:19:18