2012-02-06 3 views
0

jqGrid에서 인라인 편집을 사용하려고하는데 반환 값에 문제가 있습니다.jqGrid에 대한 인라인 편집 문제 및 질문

.jqGrid('navGrid'...을 사용하고 edit:true으로 설정하면 afterComplete 속성에 함수를 첨부 할 수 있습니다. 나는 그 일을하고 있지만 정확히 내가 원하는 것은 아니다.

인라인 편집을 할 때 어떻게합니까?

네비게이터의 아이콘을 사용하여 편집 및 저장을 시작하고 싶습니다. .jgrid('editRow'...의 자체 버전을 사용하는 기본 방법을 덮어 쓸 수 있지만 더 쉬운 방법이 있어야합니다.

내 다른 질문은 이것입니다. editRow 호출을 사용하고 "successfunc"매개 변수를 사용하면 성공을 나타 내기 위해 editurl 페이지 (PHP로 작성)에서 다시 보내야합니까?

답변

0

귀하의 질문에 대한 충분한 이해가 확실하지 않습니다.

질문의 첫 번째 부분은 navGrid 대신 inlineNav 메서드를 사용하는 것이 좋습니다. 이 경우 네비게이터에 추가 된 버튼은 인라인 편집을 사용합니다.

또 다른 질문이 있습니다. jqGrid는 내부적으로 jQuery.ajax을 사용하여 서버와 통신합니다. jQuery.ajax의 기본 표시기와 jqGrid는 서버 응답 성공 여부를 나타냅니다. HTTP status code입니다. 따라서 서버가 200 개의 상태 코드 (OK)를 반환하면 응답은 성공적으로 해석됩니다. 400 jQuery.ajax으로 시작하는 서버 응답 및 코드가 error 콜백을 호출하는 경우 따라서 errorfunc을 사용하여 오류 응답을 디코딩하고 (필요한 경우) aftersavefunc을 사용하여 행을 성공적으로 저장하는 경우 몇 가지 작업을 수행하는 것이 좋습니다.

+0

서버 통신에 대한 응답 주셔서 감사합니다. 나는 그 부분을 지금 가지고 있다고 생각한다.
user1118374

+0

나는 지금 그 부분을 가지고 있다고 생각한다. inlineNav를 사용하고 싶지만 서버에서 응답을 가져 오는 방법을 알아낼 수 없습니다. 이제 응답을 보내는 방법을 이해하지만 어떻게 잡을 수 있을지 모르겠습니다. rowEdit을 사용하는 경우 aftersavefunc를 사용하는 방법을 볼 수 있지만 inlineNav를 사용하고 명시 적으로 rowEdit를 호출하지 않는 경우에는 사용할 수 없습니다. 어떤 아이디어? – user1118374

+0

@ user1118374 : 대부분의 경우 서버 응답을 분석 할 필요가 없습니다. 당신이 그것을 필요로한다면'$ ("# grid_id")를 사용할 수 있습니다 .. jqGrid ('inlineNav', '#pager', { } edit : true, editParams : {aftersavefunc : function (rowid, response) {alert = '+ rowid +'\ n 서버 응답 = '+ 응답)}});' – Oleg