2014-04-01 2 views
2

http://www.trirand.com/blog/jqgrid/jqgrid.html, 행 편집 및 라이브 데이터 조작에 대한 데모를 수행하려고했습니다. 행을 편집하고 jqgrid에서 일시적으로 저장하고 새 행을 추가하는 팝업 창을 가져올 수 있습니다.jqgrid에서 행을 편집하거나 추가 한 후 DB에 데이터를 저장하는 방법

내 jqgrid에 json 개체를 채우고 있습니다.

1)

Enter 키를 눌러 또는 다른 행을 선택한 후, 코드

onSelectRow: function(rowid, status) {     
    if(rowid && rowid!==lastsel){ 
     if (lastsel != null && !myRowIsValid(lastsel)) { 
      return; 
     }        
     jQuery("#grid").saveRow(lastsel,true,'clientArray'); 
     jQuery('#grid').jqGrid('editRow',rowid,true); 
     lastsel=rowid; 
    } 

} 이하로 사용하여, 행 편집을하는 동안, 나는 내 마지막 선택된 행은 내가 가진 것을 들고 있음을 알 수 입력되었습니다. 하지만 DB에 모든 edidted 데이터를 다시 저장하는 방법 ??

2) 아래 코드를 사용하여 jqgrid에 새 행을 추가하면 모든 열을 볼 수있는 팝업을 얻을 수 있습니다. 그러나 데이터를 채운 후 제출을 누르면 '오류 상태'가 표시되지 않습니다. ' 오류 코드 404 '가 표시됩니다.

jQuery("#bedata").click(function(){ 
    jQuery("#grid").jqGrid('editGridRow',"new",{ 
     height:420,    
     reloadAfterSubmit:false,     
     closeAfterAdd:false, 
     errorTextFormat:"Something Went Wrong", 
     afterSubmit : function(response,postdata){ 
      alert("hi"); 
     } 
    });   
}); 

참고 : - 나는 editUrl이 있습니다 "/ somejsp.html"를 jQuery를 ("# 그리드")있는 jqGrid ({...}) 코드의 조각이에 해당하는 나는 하나의 컨트롤러를 준비합니다. 내 봄 MVC 컨트롤러 클래스.

저는 사람들이 DB에 다시 데이터를 저장하는 게시물을 많이 보았습니다. 하지만 제 문제는 거의 모든 게시물에서 PHP를 사용하고 있다는 것입니다. 나는 PHP에서 작동하지 않는다. 어떤 몸이라도 그리드에 행을 임시로 추가하고 마지막으로 버튼 하나를 누른 다음 새로 추가되거나 편집 된 모든 행을 한 번에 DB에 다시 저장하는 방법을 알려주십시오.

하지만 먼저 새로운 행을 추가하는 동안 내가 뭘 잘못하고 있니?

다른 정보가 필요하면 알려주세요.

+0

나는 당신의'editurl : "the url"이 그 jqgrid에 적용되지 않았다고 생각한다. – Jai

+0

@ Jai, 새로운 정보가 추가되었습니다. 나는 더 일찍 잊었다. – Jaikrat

+0

editurl에 무엇이 있습니까? – Jai

답변

0

질문에 답변 해 드려 죄송 합니다만, PHP를 사용하고 싶지 않으십니까?

또한 someurl.php는 index.php와 관련되어 있습니다. CodeIgniter (MVP)를 사용하고 있으므로 Controllers 폴더에 있습니다. 이처럼 작성하십시오 :

editurl: someurl, 

나는 이유는 모르겠지만,

editurl:someurl.php, 

이 작동하지 않습니다로 작성.

마지막으로, 내 someurl.php에는 데이터베이스에 데이터를 저장하는 데 필요한 sql 쿼리가 포함되어 있습니다.

예.

보라, 끝났습니다!

+0

알터스, 답장을 보내 주셔서 감사합니다. 그러나 저는 이것을 풀었습니다. :) – Jaikrat

+0

알아두면 좋을 것 같습니다! 내 대답은 당신이 한 것과 같은 질문을하는 다른 사람들을위한 것입니다. 그래서 upvote 또는 무엇인가 haha. 다시 감사합니다! – Altus

관련 문제