ExtJs4.X treeStore.load() 刷新问题

u011001266 2013-06-08 12:49:45
先上代码

/** userTree info begin**/
var treeStore = Ext.create('Ext.data.TreeStore', {
proxy: {
type: "ajax",
url: "../../queryUserTreeOfAreaAction.action",
reader: {
type: 'json',
}
},
autoLoad:true
});

/** userCombobox info end **/
var assignCombobox = Ext.create('Ext.form.ComboBox', {
name:'assignComboboxId',
store: areaStore,
width:150,
emptyText:'请选择用户',
queryMode: 'local',
displayField: 'name',
hiddenName: 'id',
valueField: 'id'
});

/**tree menu info begin **/
var assigningTree = new Ext.tree.TreePanel({
border:false,
store:treeStore,
rootVisible:false,
animate : true,
root : {
lines:true,
useArrows: true,
expanded : false
},
listeners:{
itemcontextmenu : function(his, record, item, index, e) {
if(true==record.data.leaf){
e.preventDefault();
e.stopEvent();
var _leaf = record.data.leaf;
var _id = record.data.id;
var _text = record.data.text;
var array = [{
text : '查看基本信息',
iconCls:'assignSearch',
handler : function(){
infoWinFormPanel.setTitle(_text+"::基本信息");
infoWinFormOpen(1);
}
}];
var nodemenu = new Ext.menu.Menu({
items:array
});
nodemenu.showAt(e.getXY());
}

}
}
});
/** select combobox begin**/
areaId = assignCombobox.getValue();
treeForm.setTitle('查看'+name+'用户信息');
Ext.Ajax.request({
url:'../../queryUserTreeOfAreaAction.action',
method:'post',
params:{
areaId:areaId
},
success:function(req){
assigningTree.getStore().load();// var assigningTree =
}
});
步骤,
页面初始化不加载树,
之后选择用户Combobox,-->>/** userCombobox info end **/
之后点击查询按钮,执行-->>/** select combobox begin**/这一步 areaId 是用户的id号,
之后根据areaId向数据库查找,
执行 assigningTree.getStore().load();
返回过来的是json串是正常的(在静态tree下可以显示。)
但assigningTreePanel里依然没有数据, /**tree menu info begin **/ 无数据。
请教高手,帮帮忙。
...全文
639 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HOHOHOHOHOH 2015-01-31
  • 打赏
  • 举报
回复
var recode = treeStore.getById(id);//需要重新加载节点的Id treeStore.reload({node:recode}); 要使用TreeSotre,在reload中指定加载节点的recode即可。
你想找事 2014-08-27
  • 打赏
  • 举报
回复
楼主乃神人也。跟大家猜谜语呢。还不贴答案。
yasz1 2013-07-29
  • 打赏
  • 举报
回复
不知道楼主怎么解决的刷新问题,我也出现了一个数据刷新问题,楼主知道怎么解决吗?
 onRender: function(){
this.getBookStore().load();
alert('2');//如果没有这句,数据不能刷新出来
}
u011001266 2013-06-08
  • 打赏
  • 举报
回复
自己弄出来了。
u011001266 2013-06-08
  • 打赏
  • 举报
回复
我要的功能是,选择不同的ID,反回过来的tree是不一样的,在beforeload事件里我也试了,但还是不行。 莫非是我写错了?

       append: function( thisNode, newChildNode, index, eOpts ) {         
            if( !newChildNode.isRoot() ) {
                newChildNode.set('leaf', true);
                newChildNode.set('text', newChildNode.get('name'));
                newChildNode.set('icon', newChildNode.get('profile_image_url'));
                newChildNode.set('cls', 'demo-userNode');
                newChildNode.set('iconCls', 'demo-userNodeIcon');
            }
        }
程序媛小李 2013-06-08
  • 打赏
  • 举报
回复
可以重新加载tree的数据, // parentNode.set('expanded', false);//节点更新 // parentNode.set('loading', false); // parentNode.set('loaded', false); // parentNode.expand(); 在store中添加boforeload事件监听,在load时传入你获取的combobox参数,parentNode为tree的跟节点
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要求,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧