Extjs4 关于Store的一些操作(加载/回调/添加)


Posted in Javascript onApril 18, 2013

1、关于加载和回调的问题
ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据;因此,我们需要给它添加一个提示信息!
但是Store却没有waitMsg属性。

解决方案
1.给store添加监听器,监听beforeload事件,加载前弹出提示框,加载完成后关闭提示框
2.callback为load的回调函数,在加载完成后执行,因此关闭提示框由它完成;
3.一定要给store的reload方法也添加callback函数,已关闭提示框
例子主要代码如下:

varmsgTip; // 一定要定义在使用前,且定义为全局变量 
var reportStore=new Ext.data.Store({ 
proxy:reportProxy, 
reader:reportReader, 
listeners:{ 
beforeload:function(){ 
msgTip = Ext.MessageBox.show({ 
title:'提示', 
width : 250, 
msg:'页面报表统计信息刷新中,请稍后......' 
}); 
} 
} 
}); 
reportStore.load({ 
callback: function(records, options, success){ 
msgTip.hide(); // 加载完成,关闭提示框 
} 
}); 
注意:如果有调用reload来重新刷新页面,reload也要添加callback函数来关闭提示框 
reportStore.reload({ 
callback: function(records, options, success){ 
msgTip.hide(); // 加载完成,关闭提示框 
} 
}); 
--------以下为其他参数------ 
store.load({ 
params:{start:0,limit:20}, //参数 
// callback是加载完毕时执行的回调函数,它包含3个参数:records参数表示获得的数据, 
// options表示执行load()时传递的参数,success表示是否加载成功。 
callback: function(records, options, success){ 
Ext.Msg.alert('info', '加载完毕'); 
}, 
scope: store, //Scope用来指定回调函数执行时的作用域 
add: false //Add为true时,load()得到的数据会添加在原来的store数据的末尾, 
//否则会先清除之前的数据,再将得到的数据添加到store中 
 
});

2、从一个store添加符合某条件记录给另一个store中
var MyDocnumStore_Load = function(store){ 
//var index = 0; 
store.each(function(record) { 
if(record.data.PlanCarNo != '' ) { //column_name 替换成你的列名, '1' 替换成你的值 
if (record.data.Docnum != _rec.get('Docnum')){ 
var _TmpStr = record.data.UseDate+'----->'+record.data.PlanCarNo; 
myDocnumStore.add({ 
'UpDocnum':record.data.Docnum 
,'DocnumDesc':_TmpStr 
,'UseDate':record.data.UseDate 
,'PlanCarNo':record.data.PlanCarNo 
}); 
} 
} 
}) 
myDocnumStore.sort('UseDate', 'ASC'); 
}; 
MyDocnumStore_Load(mystore); //载入可拼车列表;
Javascript 相关文章推荐
JavaScript的eval JSON object问题
Nov 15 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
Dec 27 Javascript
JavaScript代码复用模式详解
Nov 07 Javascript
jQuery下拉美化搜索表单效果代码分享
Aug 25 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
jQuery EasyUI菜单与按钮详解
Jul 13 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
Nov 09 Javascript
javascript prototype原型详解(比较基础)
Dec 26 Javascript
在Vue.js中使用Mixins的方法
Sep 12 Javascript
javascript按钮禁用和启用的效果实例代码
Oct 29 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 Javascript
JQuery 常用方法和事件详细介绍
Apr 18 #Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 #Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
Apr 18 #Javascript
基于JQuery 选择器使用说明介绍
Apr 18 #Javascript
关于jquery css的使用介绍
Apr 18 #Javascript
js字符串转换成xml对象并使用技巧解读
Apr 18 #Javascript
jQuery使用技巧简单汇总
Apr 18 #Javascript
You might like
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python 序列的方法总结
2016/10/18 Python
使用tensorflow实现AlexNet
2017/11/20 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
python 自定义装饰器实例详解
2019/07/20 Python
学Python 3的理由和必要性
2019/11/19 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
烹调加工管理制度
2014/02/04 职场文书
书法比赛获奖感言
2014/02/10 职场文书
不同意离婚上诉状
2015/05/23 职场文书
经典爱情感言
2015/08/03 职场文书
诚信高考倡议书
2019/06/24 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python