【问题标题】:Empty rows are getting appended to JQGrid on calling addRowData在调用 addRowData 时,空行被附加到 JQGrid
【发布时间】:2016-03-21 12:08:00
【问题描述】:

我以这种方式拥有 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"]];

谁能帮我解决这个问题?

谢谢

【问题讨论】:

    标签: javascript jquery arrays json jqgrid


    【解决方案1】:

    newData 不是有效的 json,需要是键/值对,因此您的新数据不正确,请将您的 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

    【讨论】:

      猜你喜欢
      • 2012-03-03
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 2012-09-12
      • 2012-09-16
      • 1970-01-01
      相关资源
      最近更新 更多