0

我正在尝试构建动态树。我从 C# WCF 服务获取数据。它返回给我 JSON 数据,但数据没有反映在树中。我正在使用 EXTJS 4。

.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;
 }

wcf 服务返回的 Json--

{"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"
 }]
}

调用将转到服务器并返回数据但不在树中添加节点页面仅显示根 Extjs 节点。

最初我认为,它只是阅读器的根属性,我需要将其设置为 "d" ,但我还缺少一些东西。

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

4

1 回答 1

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
  }  
});
于 2012-07-16T13:46:57.377 回答