easyui页面多个datagrid导致列错乱、表头与表格对不齐、刷新一次正常问题

项目中偶尔会遇到这样的现象,但刷新一下就好了,一开始没注意。后来随着页面datagrid越来越多,发现出现的越来越频繁甚至会固定重现,老大发话:“改!”

将令如山,于是本宝宝抱着easyui.js开始研究其原理。经过一番抓耳挠腮打断点,终于叫我发现了问题所在(1.3.6版本):

easyui有惰性,当有多个datagrid同时存在并且有人初始化查询过,就可能导致另外的datagrid查询后不再设置宽度,从而导致列挤在一起,只需将这里的if判断注释掉,改成全部都会设置宽度就不会再出现这种情况。如下:

 这里是1.3.6版本的,如果大家用的别的版本可以试着搜一下相关的语句。

if(s.indexOf(_513)==-1){
tmp.push([s,_50a.cache[s].width]);
}

posted @ 2018-02-28 09:37  十一月惊蛰  阅读(4322)  评论(3编辑  收藏  举报