treePanel代码:Ext.define('SMS.view.Menu',{
extend: 'Ext.tree.Panel',
alias: 'widget.smsmenu',
requires:['SMS.store.Menus'],
initComponent : function(){
var tree = this;
Ext.apply(this,{
id: 'menu-panel',
iconCls:'icon-menu',
margins : '0 0 -1 1',
region:'north',
border : false,
enableDD : false,
split: true,
width : 212,
height:360,
minSize : 130,
maxSize : 300,
rootVisible: false,
containerScroll : true,
//collapsible : true,
autoScroll: false,
store:Ext.create('SMS.store.Menus'),
dockedItems: [{
xtype: 'toolbar',
items: [{
text: '展开',
iconCls: 'expand',
handler: function(){
tree.expandAll();
}
}, {
text: '折叠',
iconCls: 'collapse',
handler: function(){
tree.collapseAll();
}
}]
}]
});
this.callParent(arguments);
}
})
store代码Ext.define('SMS.store.Menus',{
extend: 'Ext.data.TreeStore',
proxy: {
type: 'ajax',
url: 'users.json'
},
root: {
expanded: true,
}
})
现在要从users.json中读出数据生成树,请问各位大侠users.json的格式应该是怎样?为什么我按照例子来咋就不能读出来?
extend: 'Ext.tree.Panel',
alias: 'widget.smsmenu',
requires:['SMS.store.Menus'],
initComponent : function(){
var tree = this;
Ext.apply(this,{
id: 'menu-panel',
iconCls:'icon-menu',
margins : '0 0 -1 1',
region:'north',
border : false,
enableDD : false,
split: true,
width : 212,
height:360,
minSize : 130,
maxSize : 300,
rootVisible: false,
containerScroll : true,
//collapsible : true,
autoScroll: false,
store:Ext.create('SMS.store.Menus'),
dockedItems: [{
xtype: 'toolbar',
items: [{
text: '展开',
iconCls: 'expand',
handler: function(){
tree.expandAll();
}
}, {
text: '折叠',
iconCls: 'collapse',
handler: function(){
tree.collapseAll();
}
}]
}]
});
this.callParent(arguments);
}
})
store代码Ext.define('SMS.store.Menus',{
extend: 'Ext.data.TreeStore',
proxy: {
type: 'ajax',
url: 'users.json'
},
root: {
expanded: true,
}
})
现在要从users.json中读出数据生成树,请问各位大侠users.json的格式应该是怎样?为什么我按照例子来咋就不能读出来?
{ text: "detention", leaf: true },
{ text: "homework", expanded: true, children: [
{ text: "book report", leaf: true },
{ text: "alegrbra", leaf: true}
] },
{ text: "buy lottery tickets", leaf: true }
]
这个api上有
TimesLeader.resMgr = Ext.create('Ext.tree.Panel', {
title: '',
frame:true,
useArrows: true,
root:treeData,//treeData是向后台请求得到的json格式数据}
楼主我之前跟你遇到同样的问题,刚学EXTJS4当时也是想做一个TREE,然后写一个JSON文件从里面读,做一个例子看看。
但是用上面的格式的话~火狐WEB控制台的错误提示是‘语法错误’,如果把[]去掉的话就是错误‘未组织好’。
我找了好久最终都没有找到错误在哪里,最后就跟做服务器端的同事沟通~让他给我写一个桩来做测试,返回以上格式JSON串,结果就显示出来了。
最后我想可能是我的JSON文件格式有问题(我是用记事本创建的然后改后缀命为.json),不知道大神们是怎么创建JSON文件了~我找了很久没找到,知道的指导一下。
在这里我想说的是~你做TREE的话应该是想动态获得树的结构,那样就配合着服务器端一起做吧~
如果是静态的树~直接写到store里面就行了。
好像没有解决你的问题是吧~分享一下我的经验,希望对你有帮助。
还有就是网上很多资料都是EXTJS2.2或者3的,EXTJS4的资料很少,我给你推荐一个网址,讲的很好:
http://mhzg.net/effects/ext/index.html
还有一个学习资料库,虽然不是EXTJS4的,但是里面的每一个例子的设置,属性,方法都有注释~我把它当做中文API来看了:
http://www.docin.com/mydoc-2424998-1.html&folderId=87921
希望都对你有帮助~加个好友一起学习吧
checked: null
children: Array[2]
code: null
guid: "00000000-0000-0000-0000-000000000000"
icon: null
id: "root"
leaf: false
parent_id: null
text: "root"字节点一样