2012-09-21 54 views
1

我試圖/編輯數據添加到我的jqGrid。目前第一列已填充,然後其他六列空白,並且依賴於第一列。所以,我需要添加或「編輯空白」,在其他六個列中的數據,而第一保持不變。的jqGrid - SetRowData - 返回成功,但沒有數據更新

現在我只是想接進的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}   
], 

回答

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

的jqGrid的第一行是1,而不是0。轉到數字。現在就工作,只需要確定更新,同時保持其餘數據不變。

相關問題