2012-09-21 12 views
1

JQGrid에 데이터를 추가/편집하려고합니다. 현재 첫 번째 열에는 채워진 다음 나머지 여섯 개의 열은 비어 있고 첫 번째 열에 종속됩니다. 그래서 나는 첫 번째 동일하게 남아있는 동안 다른 6 개의 열에있는 데이터를 추가하거나 "비어있는 것을 편집"해야합니다.JQGrid - SetRowData - 성공을 반환하지만 데이터가 업데이트되지 않았습니다.

지금 당장은 현재 데이터를 편집하기 위해 JQGrid에 액세스하려고합니다. 아래의 기능은 내가 지금까지 설정 한 것입니다. 시간 (첫 번째 열 데이터), 옴 수 (그리드에 입력 할 데이터) 및 열 이름이 전달됩니다. 내 데이터 집합을 빌드하고 rowid 0에 추가하려고합니다. 지금 바로 작동하도록 노력하고 있기 때문에 하드 코드 된 것입니다. 그런 다음 JQGrid에 액세스하고 rowdata를 추가하면 실제로 성공을 반환하지만 JQGrid에 아무 것도 추가되지 않습니다.

* 참고 -이 모든 내에서 수행되는 내 자바 스크립트 파일

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이 아닌 이동 인물이다. 이제 작동하여 잔여 데이터를 손상시키지 않으면 서 업데이트를 파악하면됩니다.

관련 문제