easyui datagrid 大數(shù)據(jù)加載效率慢,優(yōu)化解決方法(推薦)
在使用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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- jquery Easyui Datagrid實現(xiàn)批量操作(編輯,刪除,添加)
- jQuery Easyui datagrid連續(xù)發(fā)送兩次請求問題
- jQuery EasyUI編輯DataGrid用combobox實現(xiàn)多級聯(lián)動
- jQuery Easyui DataGrid點擊某個單元格即進入編輯狀態(tài)焦點移開后保存數(shù)據(jù)
- jQuery EasyUI學(xué)習(xí)教程之datagrid點擊列表頭排序
- jQuery Easyui學(xué)習(xí)教程之實現(xiàn)datagrid在沒有數(shù)據(jù)時顯示相關(guān)提示內(nèi)容
- jQuery EasyUI框架中的Datagrid數(shù)據(jù)表格組件結(jié)構(gòu)詳解
- jQuery easyUI datagrid 增加求和統(tǒng)計行的實現(xiàn)代碼
- jquery easyui datagrid實現(xiàn)增加,修改,刪除方法總結(jié)
- 簡介EasyUI datagrid editor combogrid搜索框的實現(xiàn)
- 詳解EasyUi控件中的Datagrid
相關(guān)文章
jquery網(wǎng)頁日歷顯示控件calendar3.1使用詳解
這篇文章主要為大家詳細介紹了jquery網(wǎng)頁日歷顯示控件calendar3.1使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11JQuery 無廢話系列教程(二) jquery實戰(zhàn)篇上
就進入實戰(zhàn)?是不是太快了?我還不知道怎么用JQuery!! ...2009-06-06jQuery實現(xiàn)點擊小圖片淡入淡出顯示大圖片特效
本文給大家分享基于jquery實現(xiàn)的一款圖片特效,當(dāng)點擊小圖片時會淡入淡出大圖片,通過定義需要展示的圖片以及圖片要展示的時間,來實現(xiàn)這一效果,感興趣的朋友跟著小編一起來學(xué)習(xí)吧2015-09-09jQuery UI工具提示框部件Tooltip Widget
這篇文章介紹了jQuery UI工具提示框部件Tooltip Widget,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06跟著JQuery API學(xué)Jquery 之二 屬性
在選擇器的API學(xué)習(xí)中,走馬觀花的把選擇器過了一遍,但是選擇歸選擇,選擇出來了沒干什么事,也沒有什么用嘛2010-04-04jQuery實現(xiàn)的個性化返回底部與返回頂部特效代碼
這篇文章主要介紹了jQuery實現(xiàn)的個性化返回底部與返回頂部特效代碼,涉及jQuery結(jié)合動畫函數(shù)響應(yīng)鼠標事件動態(tài)改變頁面元素樣式的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10JQuery的ajax獲取數(shù)據(jù)后的處理總結(jié)(html,xml,json)
三種數(shù)據(jù)格式中最簡單的就是html格式,返回回來以后可以直接使用,上面的處理方式就是json的處理方式xml的處理方式。2010-07-07