項目中偶爾會遇到這樣的現象,但刷新一下就好了,一開始沒注意。后來隨着頁面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]);
}
