EasyUI 使用tabs切换后datagrid显示不了内容

今天刚遇到这个问题,找了下各群的深度合作伙伴,没有好的答案,那就自己研究吧。

问题点在于打开tab1时,快速切到tab2,这时tab1的datagrid渲染未完成,再次回到tab1,因为是在不可见区域完成的渲染,所以datagrid的窗体计算size时给的height为0。

解决思路:在tab重获焦点时,对datagrid resize一次。

在tabs的onSelect里注册事件,事件里面的代码: 

 try {
        $(".tabs-panels .panel").eq($('.tabs-selected').index()).find("iframe")[0].contentWindow.resizeDT();
    } catch (_e) {
        let _eeee = _e;
    }

  

所有tab子页面插入此方法:

function resizeDT() {
            $(".datagrid-f").each(function (i, x) {
                try {
                    $("#" + $(x).prop('id')).datagrid('resize');
                    $("#" + $(x).prop('id')).datagrid('fixRowHeight');//补上这个,部分格式化后的行高度与行号会错位
            
                } catch (e) {

                }
            })
            return true;
        }

 

  

posted on 2018-10-31 12:00  比不了潘安  阅读(576)  评论(3编辑  收藏  举报