2

JQGrid にデータを追加/編集しようとしています。現在、最初の列に値が設定されており、残りの 6 列は空白で、最初の列に依存しています。したがって、最初の列は同じままで、他の 6 つの列のデータを追加または「空白を編集」する必要があります。

現在、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 の最初の行は 0 ではなく 1 です。残りのデータをそのまま維持しながら、更新を把握する必要があるだけです。

于 2012-09-21T15:58:42.350 に答える