欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

easyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)

 更新時間:2016年11月09日 10:17:38   投稿:jingxian  
下面小編就為大家?guī)硪黄猠asyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在使用easyui datagrid途中發(fā)現(xiàn)加載數(shù)據(jù)的效率真的不是一般的差。經(jīng)測試IE8加載300條數(shù)據(jù)就感覺明顯的慢了,加載2000條數(shù)據(jù)就另人崩潰用時差不多60秒,就算在google瀏覽器測試結(jié)果也快不了幾秒。 平時聽聞easyui datagrid效率底下,自己測試才發(fā)現(xiàn)真是使人無法忍受。

筆者只好百度,google解決方法,發(fā)現(xiàn)一篇文章說改

//1.3.3版本是這樣的,其它版本也是這句代碼 
$(_1e0).html(_1e4.join("")); 

改為:

$(_1e0)[0].innerHTML = _1e4.join(""); 

筆者找了類似的地方修改,測試后結(jié)果還是一樣。沒有任何效果,可能是跟作者的版本不同,我的是1.3版,作者是的1.33版。

忙了半天,只好自己續(xù)步調(diào)試追蹤。經(jīng)過努力終于找到了導(dǎo)致慢的真正兇手。真正造成慢的代碼如下:

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);
}

看代碼就清楚,上面是對比表格中兩行的高度,然后把高的賦值給各行。

解決:兇手找到了,怎樣解決呢?筆者是直接屏蔽她們的對比和賦值。讓瀏覽器自動適應(yīng)高度吧。

如下:

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);

好了,現(xiàn)在是10000條記錄啊,IE8只用1秒不到加載完成。改成3000條記錄,只要1~2秒加載完成。

結(jié)論:把那該死設(shè)置高度代碼直接屏蔽。嘻嘻,有驚喜。EASYUI版本:1.3版

以上這篇easyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論