JQGrid - SetRowData - 返回成功但没有更新数据

时间:2012-09-21 15:34:00

标签: javascript jqgrid

我正在尝试将数据添加/编辑到我的JQGrid中。目前,第一列已填充,然后其他六列为空白,并且取决于第一列。所以我需要添加或“编辑空白”其他六列中的数据,而第一列保持不变。

现在我只是试图访问JQGrid来编辑我当前的数据。以下功能是我目前设置的功能。它会传递时间(第一列数据),欧姆数(进入网格的数据)和列名称。它构建我的数据集,然后尝试将其添加到rowid 0.这是硬编码只是因为我正试图让它立即工作。然后我访问JQGrid,添加rowdata,它实际上返回成功,但没有添加到JQGrid。

*注意 - 这都是在我的javascript文件中完成的

function AddRow(elapsedTime, numMOhms, mColumn)
{
    switch(mColumn) 
    {
        case 'a':
        case 'A':
            dataToAdd = [{TestTime:elapsedTime,RdgA:numMOhms,CorrA:"",RdgB:"",CorrB:"",RdgC:"",CorrC:""}];
            break;
        case 'b':
        case 'B':
            dataToAdd = [{TestTime:elapsedTime,RdgA:"",CorrA:"",RdgB:numMOhms,CorrB:"",RdgC:"",CorrC:""}];
            break;
        case 'c':
        case 'C':
            dataToAdd = [{TestTime:elapsedTime,RdgA:"",CorrA:"",RdgB:"",CorrB:"",RdgC:numMOhms,CorrC:""}];
            break;
    }
    alert(JSON.stringify(dataToAdd));
    var success = jQuery("#polarizationTable").jqGrid('setRowData',0,dataToAdd[0]);
    if(success)
    {
        alert("y");
    }
    DrawGraph(true);
}

如果用这个替换最后一位:

for(var i=0;i<=dataToAdd.length;i++)
  jQuery("#polarizationTable").jqGrid('addRowData',i+1,dataToAdd[i]);

我可以添加它,但它是一个愚蠢的添加,只是将数据追加到最后而不是更新该行中的数据。我尝试用硬编码修改它并删除for循环,但没有运气。

这是我的colModel / colNames的样子。

colNames:['Minutes','Reading A', 'Corr A', 'Reading B','Corr B','Reading C','Corr C'],
colModel:[
    {name:'TestTime',index:'TestTime', align:"center", sortable:false},
    {name:'RdgA',index:'RdgA', align:"center", sortable:false},
    {name:'CorrA',index:'CorrA', align:"center", sortable:false},
    {name:'RdgB',index:'RdgB', align:"center", sortable:false},
    {name:'CorrB',index:'CorrB', align:"center", sortable:false},       
    {name:'RdgC',index:'RdgC', align:"center", sortable:false},     
    {name:'CorrC',index:'CorrC', align:"center", sortable:false}        
],

1 个答案:

答案 0 :(得分:1)

 var success = jQuery("#polarizationTable").jqGrid('setRowData',1,dataToAdd[0]);

JQGrid的第一行是1,而不是0.去图。现在可以使用,只需要确定更新,同时保持剩余数据不变。