easyui datagrid beginedit 速度很慢 問題 解決方案


最近用easyui 效果是不錯,不過號稱開源的他,我是死活沒找到源文件到底在哪里.

我使用的1.3.4版本在使用datagrid的時候有個問題.

當datagrid里面有很多行的時候.比如二三十行,對任何一個沒有beginedit的行做beginedit的時候會很慢

解決方案:

打開easyui的JS文件(或許需要格式化一下),搜索函數:

 function _58f(_590 

這個就是beginedit了.

找到下面的_537(_590); 改成 _537(_590,tr);

然后找到函數:

function _537(_538,tr) 

在函數第二行插入一些內容插入后是:

function _537(_538,tr) {
        var dc = $.data(_538, "datagrid").dc;
        if(tr){
            tr.find("div.datagrid-editable").each(function () {
            var cell = $(this);
            var _539 = cell.parent().attr("field");
            var col = $(_538).datagrid("getColumnOption", _539);
            cell._outerWidth(col.width);
            var ed = $.data(this, "datagrid.editor");
                if (ed.actions.resize) {
                    ed.actions.resize(ed.target, cell.width());
                }
            });
            return;
        }
        dc.view.find("div.datagrid-editable").each(function () {
            var cell = $(this);
            var _539 = cell.parent().attr("field");
            var col = $(_538).datagrid("getColumnOption", _539);
            cell._outerWidth(col.width);
            var ed = $.data(this, "datagrid.editor");
            if (ed.actions.resize) {
                ed.actions.resize(ed.target, cell.width());
            }
        });
    };

下面那個默認的函數會對整個datagrid里面的所有的edit控件做處理.

雖然easyui 可能希望我們不要保持所有的行都在edit狀態下面.(如果這樣,全部的edit cell確實不多),但是在一定需要保持所有行都在edit模式的時候.

這個設計就會讓速度很慢了..

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM