Extjs 将json文件中的数据加载到treepanel中
在我的data.json文件中,我有要加载到树面板中的静态数据。根据此链接,我已将“children”更改为“data”。但我仍然没有在树面板网格中获取数据 My data.json文件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":
[
{
"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”,并且它的子项没有显示出来。