2

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

现在我只是想访问 JQGrid 来编辑我当前的数据。下面的功能是我到目前为止设置的。它传递了时间(第一列数据)、欧姆数(进入网格的数据)和列名。它构建我的数据集,然后尝试将其添加到 rowid 0。这是硬编码的,因为我现在正试图让它工作。然后我访问 JQGrid,添加行数据,它实际上返回了成功,但没有向 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}        
],
4

1 回答 1

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

JQGrid的第一行是1,不是0。去图吧。现在可以工作了,只需要在保持剩余数据完整的同时弄清楚更新。

于 2012-09-21T15:58:42.350 回答