最近用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模式的时候.
这个设计就会让速度很慢了..