在使用Easyui DataGrid 过程中,发现若单页数据量超过300,IE浏览器加载速度很慢。也通过网上找寻了很多解决方案,最典型的就是去掉datagrid的自动列宽以及自动行高判断。

  1、解决自动列宽:  设定列宽度可解决。

  2、解决自动行高 : 注释掉下面的代码。

 1 function _3e(_44,_45){
 2 //for(var i=0;i<_45.length;i++){ 3 ////var tr1=$(_44[i]);
 4 ////var tr2=$(_45[i]);
 5 ////tr1.css("height","");
 6 ////tr2.css("height","");
 7 ////var _46=Math.max(tr1.height(),tr2.height());
 8 ////tr1.css("height",_46);
 9 ////tr2.css("height",_46);
10 //}
11 };

  使用上述两种解决办法后,加载速度有所改观,但效果不是很明显。后来使用了datagrid的scrollview和bufferview视图,scrollview效果仍然不太好,但使用了bufferview后,效果相当明显,最终选定使用bufferview来加载单页数据,速度虽然解决了,遇到了另外一个问题,原有的DataGrid做了分页处理,bufferview在滚动条拉到最底部时候,会自动加载下一页数据,我已经有了对datagrid的分页处理,所以这个功能不需要,经多次尝试,解决方案如下:

 1 function scrolling(){
 2             if (getDataHeight() < dc.body2.height() && view.renderedCount < state.data.total){
 3                 this.getRows.call(this, target, function(rows){
 4                     this.rows = rows;
 5                     this.populate.call(this, target);
 6                     dc.body2.triggerHandler('scroll.datagrid');
 7                 });
 8             } else if (dc.body2.scrollTop() >= getDataHeight() - dc.body2.height()) {
 9                 //  注释掉下面代码是为了滚动时不加载下一页数据
10                 //this.getRows.call(this, target, function(rows){11                 //    this.rows = rows;
12                 //    this.populate.call(this, target);
13                 //});
14             }
15         }

  将scrolling方法中的else if 里面的代码块注释掉就可以了。

转载于:https://www.cnblogs.com/Chaser-Eagle/p/bufferview.html

EasyUI 1.4.4 DataGrid(大数据量) bufferview滚动时不加载下一页数据解决方案相关推荐

  1. 滚动条触底 加载下一页数据

    页面再加载 当我们使用返回数据量大的接口的时候,如果全部申请回来,就会影响项目的性能,滚动条触底再加载下一页数据能确保用户讲页面拉到页面底部的时候再去申请下一页的数据 实现原理 找到滚动条触底事件 使 ...

  2. Recyclerview删除数据后无法加载下一页数据(或者是漏了一条数据)

    使用场景:项目中用到了"订单列表"界面,会有个删除订单的功能,点击删除之后,之前一页的10个数据会变成9个,然后加载更多就触发不了(也可能会少一条数据) 分析:触发不了是我的rec ...

  3. html底部自动加载下一页,js页面滚动到底部时自动加载下一页数据

    一段滚动到页面底部自动加载更多数据的js代码,需要jquery.js . jquey.tmpl.js 支持 var Data = { PageCount: 1, PageSize: 30, IsCom ...

  4. ajax下拉 加载 下一页,jQuery滑动到底部加载下一页数据的实例代码

    page_num =page_num+1 ; //页码自动增加,保证下次调用时为新的一页. $.ajax({ type: "get", url: rent_url, data: ' ...

  5. 提高大数据量并发访问时效率

    最近在做windows服务方面的开发,主要用它来解决A服务和其他服务发送数据失败后,重新发送的问题. 为了提高大数据量并发访问时效率问题,要在多台服务器上安装服务并采用多线程,就像是超市的收银,利用多 ...

  6. POI3.8解决导出大数据量excel文件时内存溢出的问题

    POI3.8解决导出大数据量excel文件时内存溢出的问题 参考文章: (1)POI3.8解决导出大数据量excel文件时内存溢出的问题 (2)https://www.cnblogs.com/feng ...

  7. MySQL单表数据量过千万,采坑优化记录,完美解决方案

    MySQL单表数据量过千万,采坑优化记录,完美解决方案 参考文章: (1)MySQL单表数据量过千万,采坑优化记录,完美解决方案 (2)https://www.cnblogs.com/ExMan/p/ ...

  8. Ext JS - Combobox 加载下拉框数据 级联下拉框

    Combobox 加载下拉框数据 点击下拉框,数据从后台加载,是很常见的需求.如下图: View 中下拉框 dockedItems : [ {dock : 'top',xtype : 'toolbar ...

  9. 切换不同的数据状态布局,包含加载中、空数据和出错状态,可自定义状态布局

    代码地址如下: http://www.demodashi.com/demo/12318.html StatusLayoutManager 切换不同的数据状态布局,包含加载中.空数据和出错状态. git ...

  10. android 下拉刷新数据,如何剥离Android页面下拉刷新、加载下一页等逻辑?

    最近碰到一个新的页面控制需求:下拉刷新如果失败,listview上面的数据需要保留,然后悲剧的发现之前写的NetFragment和ListNetFragment都不能覆盖这种逻辑,又要重写了.痛定思痛 ...

最新文章

  1. 怎样做好敏捷项目管理?
  2. SharePreference源码学习和多进程的场景
  3. 翻译Raywenderlich 最新文章What’s New in Swift 4
  4. python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...
  5. 商汤研究院-SpringAutoML团队招聘啦~
  6. Linux录音软件audacity安装:sudo yum install audacity
  7. 根据select的选项不同跳转到不同的页面
  8. ES6的一个基础类,支持私有属性和方法,支持event和mix
  9. 公文中的六角括号怎么打?
  10. python爬虫源码大全_python爬虫(附源码)
  11. 顺丰科技机器学习面试
  12. Libcef源码下载与编译
  13. 5G消息标准版——富媒体消息,打造场景信息沉浸式体验
  14. wps里有project吗_甘特图是什么?-如何用WPS表格做甘特图
  15. 流体的“流线”和“迹线”定义和区别。
  16. mix2s适配鸿蒙,小米MIX2S|MIUI10|9.05.12|GPU调节|CPU调节_最新最全的小米MIX 2SROM刷机包下载、刷机...
  17. 计算机开始处无法搜索内容,win10系统电脑搜索功能无法找到内容的解决方法
  18. BeanFactory 和 ApplicationContext 两个容器的区别与联系
  19. [vue3] 菜单动态折叠效果
  20. MGRE综合实验作业

热门文章

  1. eclipse bookmark的使用
  2. Map.Entry的使用(转载)
  3. java并发编程(四) 线程池 任务执行、终止源码分析
  4. servlet跳转问题
  5. python学习第十八天 --文件操作
  6. IFTT-意大利金融交易税
  7. angulrar知识点整理
  8. CocoaPods 2017最新、最快安装和使用说明
  9. was控制台的用户和密码怎样加密使用_交换机密码忘记了,怎么办,密码恢复一分钟了解下...
  10. 在阿里云创建子域名,配置nginx,使用pm2部署node项目到ubuntu服务器