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模式的时候.

这个设计就会让速度很慢了..

 

转载于:https://www.cnblogs.com/naclhhn/p/3438024.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值