使用jqGrid刷新内存跳转

时间:2013-10-04 13:50:40

标签: javascript jquery jqgrid internet-explorer-8

我有一个从本地数据填充的jqGrid(v4.5.2)。每当我尝试卸载网格并使用新数据重新填充它时,使用下面的buildGrid()函数,IE8中的内存会跳转。这样做大约15倍后,内存从~80,000K增加到~35万K。我的用例要求刷新此网格>没有浏览器刷新的150x。

这是一个非常简单的网格。以下是我构建它的功能:

<table id="lpInfoGrid"><tr><td/></tr></table>
<div id="lpInfoGridPager"></div>

var jqGridObj;
function buildGrid(lot) {

    if (jqGridObj) {
        jqGridObj.jqGrid('GridUnload');
        jqGridObj = null;       
    }

    jqGridObj = $("#lpInfoGrid").jqGrid({
        data: localData[lot].Info,
        datatype: "local",
        colNames: [...],
        colModel: [...],
        viewrecords: true,
        gridview: true,
        pager: '#lpInfoGridPager'   
    });

}

我试图清理和刷新网格的方式有问题吗?

1 个答案:

答案 0 :(得分:0)

我似乎有更好的运气使用reloadGrid功能。由于其他参数是相同的:

var jqGridObj = null;
function buildGrid(lot) {

    if (jqGridObj != null) {
        $('#lpInfoGrid').setGridParam({
            data: localData[lot].Info,
            datatype: 'local'            
        }).trigger('reloadGrid');
        return true;
    }

    jqGridObj = $('#lpInfoGrid').jqGrid({
        data: localData[lot].Info,
        datatype: 'local',
        colNames: [...],
        colModel: [...],
        viewrecords: true,        
        gridview: true,
        pager: '#lpInfoGridPager'
    });

}

这有助于控制内存。我会看到我是否遇到了下游的任何其他问题。