jqGrid添加了在调用reloadGrid后删除的行

时间:2013-01-25 18:43:00

标签: jquery jqgrid

向jqGrid添加行的正确方法是什么?如果我这样称呼:

$('#quoteGrid').jqGrid('addRowData', undefined /* random row id */, rowData);

但是,如果我在以下任何时候调用此行,那么该行会出现在网格中:

$('#quoteGrid').trigger('reloadGrid');

这一行消失了。我检查了firebug,数据实际上被添加到数组中,但是在调用reloadgrid时它会被删除。

我的网格数据参数:

    datatype: 'local',
    data: data,
    loadonce:true,

3 个答案:

答案 0 :(得分:1)

它被添加到网格中,但不会添加到存储网格中显示的数据的本地对象。您可以在addRowData函数调用中挂接某些内容以将其附加到本地数据存储,然后它将在您的网格下次查找该对象以重新加载其数据时显示。

答案 1 :(得分:1)

我使用此代码解决了这个问题。此代码在添加行后执行,我获取Grid的更新数据,然后将其保存在本地对象中,然后将此本地对象重新分配给网格并重新加载网格到第1页。

        var grid_data = $("#Grid_ID").jqGrid('getGridParam', 'data'); 
        $("#Grid_ID").jqGrid('clearGridData').jqGrid('setGridParam', { 
            datatype: 'local',
            data: grid_data,
            rowNum: grid_data.length 
        }).trigger('reloadGrid', [{ page: 1}]);

答案 2 :(得分:-1)

我正在尝试Uzair's solution,但是$("#Grid_ID").jqGrid('getGridParam', 'data')导致删除的行(网格有两行),我要做的就是使用$("#Grid_ID").jqGrid('getRowData');代替。希望能帮助到你。