在调用 addRowData 时空行被附加到 JQGrid

Empty rows are getting appended to JQGrid on calling addRowData

我正在以这种方式使用 JQgrid,

HTML:

<table id="grid"></table>
<input type="button" id="UpdateGridButton" value="Update" />

我最初以这种方式将 JSon 字符串 'mydata ' 加载到 JQgrid,

JavaScript:

var mydata = [{id: 48803, thingy: "DSK1"}, {id:48769, thingy:"APPR"}, {id:12313, thingy: 'FOOBAR'}];

$("#grid").jqGrid({
        datastr : mydata,
        datatype : 'jsonstring',
    gridview: true,
    height : '100%',
        autowidth : true,
    height: 'auto',
    autoencode: true,
    rowNum: mydata.length,
    rownumbers : true,
        rownumWidth : 40,
        multiselect : false,
        viewrecords : true,
        autoencode : true,
        scrollrows : true,
        hoverrows:true,
        width: '100%',
        shrinkToFit: false,
    colNames: ['Inv No', 'Thingy'],
    colModel: [{
        name: 'id',
        index: 'id',
        width: 60,
    },{
        name: 'thingy',
        index: 'thingy',
        width: 90,
    }],
    caption: "Stack Overflow Example"
});

它正在运行。

问题是当我尝试以这种方式将更多行附加到现有 JQrid 时,

JavaScript:

$('#UpdateGridButton').click(function(){
newData = [[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"]];
    var p = $('#grid').getGridParam();
    alert("found gridParamData:", p.data);
    if (p.data){        
        var rowId = $.jgrid.randId();
        $("#grid").jqGrid('addRowData', rowId, newData);
        console.log(rowId);

        /*for (var i = 0; i <= newData.length; i++) {
       jQuery("#grid").jqGrid('addRowData', i + 1, newData[i]);
}*/
    }
    /*for (var i = 0; i <= newData.length; i++) {
       jQuery("#grid").jqGrid('addRowData', i + 1, newData[i]);
}*/
});

正在追加行,但它们是空的。

我的数据是这样的数组形式,

newData = [[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"],[462,"abc"]];

谁能帮我解决这个问题?

谢谢

newData 无效 json 并且需要是 key/value 对,因此您的新数据不正确,请将您的 newData 数组更改为以下:

[{"id" : 462, "thingy":"abc"},{"id" : 462, "thingy":"abc"},{"id" : 462, "thingy":"abc"},{"id" : 462, "thingy":"abc"},{"id" : 462, "thingy":"abc"},{"id" : 462, "thingy":"abc"}];

然后addRowData,你会发现效果很好。

EXAMPLE