Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 将json文件中的数据加载到treepanel中_Extjs_Extjs4_Extjs4.2 - Fatal编程技术网

Extjs 将json文件中的数据加载到treepanel中

Extjs 将json文件中的数据加载到treepanel中,extjs,extjs4,extjs4.2,Extjs,Extjs4,Extjs4.2,在我的data.json文件中,我有要加载到树面板中的静态数据。根据此链接,我已将“children”更改为“data”。但我仍然没有在树面板网格中获取数据 My data.json文件 { "data": [ { "App": "active" "iconCls":"task-folder", "expanded":"false

在我的data.json文件中,我有要加载到树面板中的静态数据。根据此链接,我已将“children”更改为“data”。但我仍然没有在树面板网格中获取数据

My data.json文件

      {
        "data":
            [
             {
               "App": "active"
               "iconCls":"task-folder",
               "expanded":"false",
               "data": [
                        {
                          "AppReport1": "active",
                          "leaf": "true"
                         }
                       ]
             }
           ]
        }
以下是我正在做的:

    initComponent: function () {
    var me = this;
    Ext.log("initComponent()", me);

    me.treeStore = Ext.create("Ext.data.TreeStore", {
        proxy: {
            type: "ajax",
            model   : 'EPH.model.DBStatusModel',
            autoLoad: true,
            type: 'ajax',
            url:'app/data/data.json',
            reader: {
                      type: 'json',
                      root : 'data'
                    }

             },
             root: {
                   expanded: true
              }
      });
      this.down('treepanel').setRootNode(store.getRootNode());
}

我想我的data.json文件有问题。是正确的还是我需要更改一些内容。请帮助我解决此问题。谢谢


Childen它是节点接口配置的重要组成部分

Sencha api:

这个配置参数告诉您根节点有什么数据

编辑:

以及“defaultRootProperty”发生了什么:

Sencha api:

要使树读取嵌套数据,Ext.data.reader.reader必须为 配置了根属性,以便读取器可以查找嵌套数据 对于每个节点(如果未指定根,则默认为 “儿童”)。这将告诉树查找任何嵌套的树节点 使用相同的关键字,即“children”如果在 配置确保所有具有子节点的嵌套节点具有相同的 名称请注意,设置defaultRootProperty可以实现相同的功能 事情


在引用链接中,第一个数据似乎是JSON对象,在JSON文件中是JSON数组。我认为这应该是它的外观

 {
"data": //root
      {
        "data"://children
            [
             {
               "App": "active"
               "iconCls":"task-folder",
               "expanded":"false",
               "data": [
                        {
                          "AppReport1": "active",
                          "leaf": "true"
                         }
                       ]
             }
           ]
      }
}

注意:此代码取自作者的原始JSON文件。

在参考链接中,第一个数据似乎是JSON对象,在JSON文件中是JSON数组。你检查过了吗?@KiaMorot:谢谢。请看一看,我已经更改了它。但是我的树面板中只显示了“App”。它没有被扩展。我的意思是它没有显示它的子元素I,e“AppReport1”。如果我遗漏了什么,请纠正我。再次感谢。JSON对象中的第一个数据仍然是JSON数组。看看你提供的链接。我认为您的数据应该是一个JSON对象。@KiaMorot:但这就是我在reader config中提到的root。我只获取数据,但只获取第一条记录,而不获取其子数据。这就是引用链接中显示的方式!:(我仍然没有在我的treepanel中获取数据。然后是另外一件事。我会再次检查文档和示例。:是的,我知道,但根据参考链接,如果在阅读器中使用root,则应该使用相同的root。请看一看。谢谢,直到我只能看到“App”,并且它的子项没有显示出来。