easyui datagrid 大数据加载效率慢,优化解决方法
2015-05-19 12:01
471 查看
在使用easyui datagrid途中发现加载数据的效率真的不是一般的差。经测试IE8加载300条数据就感觉明显的慢了,加载2000条数据就另人崩溃用时差不多60秒,就算在google浏览器测试结果也快不了几秒。 平时听闻easyui datagrid效率底下,自己测试才发现真是使人无法忍受。
笔者只好百度,google解决方法,发现一篇文章说改
//1.3.3版本是这样的,其它版本也是这句代码
$(_1e0).html(_1e4.join(""));
改为:
$(_1e0)[0].innerHTML = _1e4.join(""); 笔者找了类似的地方修改,测试后结果还是一样。没有任何效果,可能是跟作者的版本不同,我的是1.3版,作者是的1.33版。
忙了半天,只好自己续步调试追踪。经过努力终于找到了导致慢的真正凶手。真正造成慢的代码如下:
看代码就清楚,上面是对比表格中两行的高度,然后把高的赋值给各行。
解决:凶手找到了,怎样解决呢?笔者是直接屏蔽她们的对比和赋值。让浏览器自动适应高度吧。
如下:
好了,屏蔽后。让我们测试效率。测试一万条记录,测试代码片段如下:
好了,现在是10000条记录啊,IE8只用1秒不到加载完成。改成3000条记录,只要1~2秒加载完成。
结论:把那该死设置高度代码直接屏蔽。嘻嘻,有惊喜。EASYUI版本:1.3版
转载自:http://love398146779.iteye.com/blog/2067515
笔者只好百度,google解决方法,发现一篇文章说改
//1.3.3版本是这样的,其它版本也是这句代码
$(_1e0).html(_1e4.join(""));
改为:
$(_1e0)[0].innerHTML = _1e4.join(""); 笔者找了类似的地方修改,测试后结果还是一样。没有任何效果,可能是跟作者的版本不同,我的是1.3版,作者是的1.33版。
忙了半天,只好自己续步调试追踪。经过努力终于找到了导致慢的真正凶手。真正造成慢的代码如下:
for (var i = 0; i < trs2.length; i++) { var tr1 = $(trs1[i]); var tr2 = $(trs2[i]); tr1.css("height", ""); tr2.css("height", ""); var _43f = Math.max(tr1.height(), tr2.height()); tr1.css("height", _43f); tr2.css("height", _43f); }
看代码就清楚,上面是对比表格中两行的高度,然后把高的赋值给各行。
解决:凶手找到了,怎样解决呢?笔者是直接屏蔽她们的对比和赋值。让浏览器自动适应高度吧。
如下:
for (var i = 0; i < trs2.length; i++) { /* var tr1 = $(trs1[i]); var tr2 = $(trs2[i]); tr1.css("height", ""); tr2.css("height", ""); var _43f = Math.max(tr1.height(), tr2.height()); tr1.css("height", _43f); tr2.css("height", _43f); */ }
好了,屏蔽后。让我们测试效率。测试一万条记录,测试代码片段如下:
var obj = { 'total': 100, 'rows': [{ id: '1', name: '一' }, { id: '2', name: '二'}] }; for (var i = 0; i < 10000; i++) { var row = ({ id: 'id' + i, name: '一' }); obj.rows.push(row); } $('#tt').datagrid({ url: null, pagination: true, pageSize: 20, pageNumber: 1, rownumbers: true, fitColumns: false, columns: [[ { field: 'id', title: 'id', width: 100 }, { field: 'name', title: 'Name', width: 100 } ]] }); $('#tt').datagrid('loadData', obj);
好了,现在是10000条记录啊,IE8只用1秒不到加载完成。改成3000条记录,只要1~2秒加载完成。
结论:把那该死设置高度代码直接屏蔽。嘻嘻,有惊喜。EASYUI版本:1.3版
转载自:http://love398146779.iteye.com/blog/2067515
相关文章推荐
- easyui datagrid 大数据加载效率慢,优化解决方法
- easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
- easyui datagrid 大数据加载效率慢,优化解决方法
- easyui datagrid数据加载缓慢问题,优化方法
- 关于easyui datagrid 大量数据加载时 出现假死问题的解决方法
- 关于EasyUI 1.5版Datagrid组件在空数据时无法显示"空记录"提示的BUG解决方法
- 解决easyUI 1.4.1 dataGrid加载数据慢的问题
- 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中
- 【工作记录0013】easyui中datagrid绑定,后台可读出数据,前台未显示的解决方法
- 【解决方法】EasyUI DataGrid不显示滚动条时,没有数据的问题
- 【解决方法】EasyUI DataGrid无数据时不显示滚动条问题
- easyui datagrid 没数据时显示滚动条的解决方法
- easyui datagrid 没数据时显示滚动条的解决方法
- easyUI的列表控件(datagrid)日期列不能正确显示Json格式数据的解决方法
- 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中
- 【项目实战】---为EasyUI DataGrid的某一动态加载数据列添加超链接,点击超链接触发Onclick方法
- easyUI的datagrid每行数据添加操作按钮的方法
- iscroll动态加载数据完美解决方法
- easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
- easyui加载datagrid和treegrid的几种json数据格式