谁能告诉我怎么能把EXTJS4中 TREE 的所有节点全部刷新的 我把分全给他
记住是EXTJS4或者刷新tree的某一个节点也行最好给我一小段具体的代码如果能解决问题我会提高两次悬赏到200分...
记住是EXTJS4
或者刷新tree的某一个节点 也行 最好给我一小段具体的代码 如果能解决问题 我会提高两次悬赏 到200分 展开
或者刷新tree的某一个节点 也行 最好给我一小段具体的代码 如果能解决问题 我会提高两次悬赏 到200分 展开
3个回答
展开全部
一般来说可以这样重新载入
Ext.getCmp("roleManageTree").root.reload();
而如何调用,你可以参考这个
两种方式
一是reload
tools:[{
id:'refresh',
on:{
click:function(){
tree_refresh();//调用刷新的函数
}
}
}],
function tree_refresh(){
var tree = Ext.getCmp('phonetree');
tree.body.mask('loading...','x-mask-loading');
tree.root.reload();
tree.root.collapse(true,true);
setTimeout(function(){
tree.body.unmask();
tree.root.expand(true,true);
},1000);
alert("ok");
};
二是重新加载
tools:[{
id:'refresh',
on:{
click:function(){
tree_refresh();//调用刷新的函数
}
}
}],
function tree_refresh(){
var tree = Ext.getCmp('phonetree');
var loader = new Ext.tree.TreeLoader({dataUrl:'phoneService.jsp'});
loader.load(tree.root);
};
Ext.getCmp("roleManageTree").root.reload();
而如何调用,你可以参考这个
两种方式
一是reload
tools:[{
id:'refresh',
on:{
click:function(){
tree_refresh();//调用刷新的函数
}
}
}],
function tree_refresh(){
var tree = Ext.getCmp('phonetree');
tree.body.mask('loading...','x-mask-loading');
tree.root.reload();
tree.root.collapse(true,true);
setTimeout(function(){
tree.body.unmask();
tree.root.expand(true,true);
},1000);
alert("ok");
};
二是重新加载
tools:[{
id:'refresh',
on:{
click:function(){
tree_refresh();//调用刷新的函数
}
}
}],
function tree_refresh(){
var tree = Ext.getCmp('phonetree');
var loader = new Ext.tree.TreeLoader({dataUrl:'phoneService.jsp'});
loader.load(tree.root);
};
追问
这个貌似是extjs3里面的功能吧 在4里面完全不适用啊 试过了 不行啊
展开全部
把树单独放在一个iframe里, 加个按钮刷新这个frame, 这是最简单的方法, 在jQuery, Ext这些东西出来之前都是这么干的
或者从后台取所有节点数据, 手动删除所有节点, 然后写递归方法根据数据添加所有节点. 这个是效率最高的做法, 只和后台通讯一次
也就10几行代码, 你自己写吧
或者从后台取所有节点数据, 手动删除所有节点, 然后写递归方法根据数据添加所有节点. 这个是效率最高的做法, 只和后台通讯一次
也就10几行代码, 你自己写吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//通过刷新树的store来刷新树,即tree.getStore().load();
//下面是代码
Ext.onReady(function(){
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'your url',
//通过后台取数据,返回数据的格式是:
//{"list":[{"text":"node0","leaf":true},{"text":"node1","leaf":true}]}
reader: {
type: 'json',
root: 'list'
}
}
});
var tree = Ext.create('Ext.tree.Panel', {
tbar: [{
text: '点击刷新树',
handler: function(){
//刷新store即刷新树
tree.getStore().load();
}
}],
title: 'Simple Tree',
width: 400,
height: 300,
store: store,
rootVisible: false,
renderTo: Ext.getBody()
});
});
//下面是代码
Ext.onReady(function(){
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'your url',
//通过后台取数据,返回数据的格式是:
//{"list":[{"text":"node0","leaf":true},{"text":"node1","leaf":true}]}
reader: {
type: 'json',
root: 'list'
}
}
});
var tree = Ext.create('Ext.tree.Panel', {
tbar: [{
text: '点击刷新树',
handler: function(){
//刷新store即刷新树
tree.getStore().load();
}
}],
title: 'Simple Tree',
width: 400,
height: 300,
store: store,
rootVisible: false,
renderTo: Ext.getBody()
});
});
追问
这样不行 早就试过了 这个treestore刷新 会把树刷新很多次 有多少节点 刷新多少次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询