Extjs使用技巧之,大数据量Grid做数据移除和添加效率优化
2013-03-15 11:25
337 查看
慢的原因:
因为每一次从Store中移除一条数据,Grid都会进行重画,当数据量比较大的时候,需要的时间会很长,例如在1500条Grid中移除1条可能需要2秒左右,移除10条就需要10多秒,移除800条,谷歌浏览器就有崩溃的嫌疑。
解决思路:
1、先禁用掉Ext的重绘,等删除完成后在恢复重绘功能,代码如下
2、先禁用掉Store的事件,等处理完成后,恢复,再将store重新指定给Grid,代码如下
store.suspendEvents();
store.remove(selection);
store.resumeEvents();grid.reconfigure(store);
3、两者结合
Ext.suspendLayouts();
store.suspendEvents();
store.remove(selection);
store.resumeEvents();
grid.reconfigure(store);
Ext.resumeLayouts(true);
因为每一次从Store中移除一条数据,Grid都会进行重画,当数据量比较大的时候,需要的时间会很长,例如在1500条Grid中移除1条可能需要2秒左右,移除10条就需要10多秒,移除800条,谷歌浏览器就有崩溃的嫌疑。
解决思路:
1、先禁用掉Ext的重绘,等删除完成后在恢复重绘功能,代码如下
Ext.suspendLayouts(); store.remove(selection); Ext.resumeLayouts(true);
2、先禁用掉Store的事件,等处理完成后,恢复,再将store重新指定给Grid,代码如下
store.suspendEvents();
store.remove(selection);
store.resumeEvents();grid.reconfigure(store);
3、两者结合
Ext.suspendLayouts();
store.suspendEvents();
store.remove(selection);
store.resumeEvents();
grid.reconfigure(store);
Ext.resumeLayouts(true);
相关文章推荐
- Extjs使用技巧之,大数据量Grid做数据移除和添加效率优化
- 技巧和诀窍:使用PrincipalPermissionAttribute在业务和数据层中添加授权规则
- 14-mysql优化之使用存储过程向mysql数据库中添加4000000条数据
- Java核心数据结构(List,Map,Set)使用技巧与优化
- ExtJS4 grid表格数据选取和使用
- AS3效率优化:使用Vector数据类型
- ExtJs gridPanel添加数据
- extjs中form与grid交互数据(record)的方法使用
- 点击添加按钮,使用ajax动态添加一行和移除一行,并且序号重新排序和数据不重复操作判断
- Struts2与ExtJs Grid结合使用json格式数据
- Extjs GridPanel用XmlReader读取xml文件的数据 及mapping的使用规则
- extjs的grid应用(java 使用json绑定数据 翻页)
- extjs4 grid 多选、添加复选框、动态添加删除数据
- android群英传笔记——ListView常用优化技巧(一、使用ViewHolder模式提高效率)
- UE(ultraedit)技巧【很多数据时设置换行】【列模式的使用】【选出具有特定内容的行】【复制bin文件视图】【bin文件添加或者删除字节】
- AS3效率优化:使用Vector数据类型
- FMDB性能优化问题。使用FMDB事务批量更新数据库速度问题。(亲测可以呀---740条数据用和不用事务效率差别20倍+)
- extjs_03_grid(添加数据)
- 提升网络效率 宽带路由优化与使用技巧