extjs 4中treepanel重复加载。
vartreeStore1=Ext.create('Ext.data.TreeStore',{autoLoad:true,proxy:{type:'ajax',url:'...
var treeStore1 = Ext.create('Ext.data.TreeStore', { autoLoad : true, proxy: { type: 'ajax', url: '../menu.action', reader: { type: 'json', root: 'root' //record: 'node' } }, sorters: [{ property: 'leaf', direction: 'ASC' }], root: { nodeType: 'async', text: 'Ext JS', //checked : true //id: '00', expanded:true }, autoLoad: false});var treepanel2 = Ext.create('Ext.tree.Panel', { //title: '简单的树形组件', store: treeStore1, animate:true, autoScroll:true, //如果超出范围带自动滚动条 width: 500, height:400, border:true, //显示tree side frame //数据容器 //loader:new Ext.tree.TreeLoader({url:"web/MenuTree.json"}), rootVisible: true, //是否显示根节点 // renderTo: Ext.getBody() containerScroll:true, listeners: { 'itemclick': function (view, record) { } //listeners -------funcation end----------});
'itemclick': function中的代码如下 var leaf = record.get('leaf'); if (leaf) { } else{ var expand = record.get('expanded') if (expand) { view.collapse(record); } else{ view.expand(record); } } 展开
'itemclick': function中的代码如下 var leaf = record.get('leaf'); if (leaf) { } else{ var expand = record.get('expanded') if (expand) { view.collapse(record); } else{ view.expand(record); } } 展开
3个回答
展开全部
你后台的tree的json没有提供。不懂写得有没有问题。
给你一段extjs4的tree代码参考。希望能帮助到你
test.json 文件
{children:[
{id:'01',text:'a01',children:[
{id:'01-01',text:'a01-01',leaf:true},
{id:'01-02',text:'a01-02',children:[
{id:'01-02-01',text:'b01-02-01',leaf:true},
{id:'01-02-02',text:'a01-02-02',leaf:true}
]
},
{id:'01-03',text:'b01-03',leaf:true}
]
},
{id:'02',text:'b02',leaf:true}
]
}
var treeStore1 = Ext.create('Ext.data.TreeStore', {
autoLoad : true,
proxy: {
type: 'ajax',
//也可以是提交给action,返回json格式就行
url: 'test.json.json',
reader: {
type: 'json',
root: 'children'
//record: 'node'
}
},
sorters: [{
property: 'leaf',
direction: 'ASC'
}],
root: {
nodeType: 'async',
text: 'Ext JS',
//id: '00',
expanded: true
}
});
var treepanel1 = Ext.create('Ext.tree.TreePanel', { //如果超出范围带自动滚动条 autoScroll:true,
//animate:true,
//root:root,
//默认根目录不显示
rootVisible:true,
border:false,
animate:true,
lines:true,
//enableDD:true,
height:600,
store:treeStore1
//width: 500
//containerScroll:true
});
展开全部
var store=Ext.create('Ext.data.TreeStore',{ defaultRootId : '', fields : ['id', 'name', 'code', 'dataType', 'describe', 'sql'], root: { expanded: true, children: "children" }, proxy : { type : 'ajax', url : dataUrl, reader : { type : 'stripedjson', striped : dataRoot } } })
children: "children" ,估计你的children没配置好
children: "children" ,估计你的children没配置好
追问
数据库应怎 样设了,children,要什么类型 了,怎 么设置了,与数据有什么 关系。
数据库应怎 样设了,children,要什么类型 了,怎 么设置了,与数据有什么 关系。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我的情况是proxy reader root 配了就会多次加载,为空就不会。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询