[jqGrid] addJSONData 메소드 설명







환경: jqGrid v4.7.1 이하 (무료버전)



json 데이터를 일괄적으로 업데이트하는 addJSONData 메소드는 공식문서에도 나와있어 종종 사용할텐데 모르고 사용하면 디버깅을 하느라 시간을 버리게된다.


https://github.com/tonytomov/jqGrid/blob/v4.7.1/js/jquery.jqGrid.js#L1505
1004lucifer


위의 로직을 보면 addJSONData 메소드는 다음 두가지 기능을 한다.
 1) 넘겨받은 데이터를 그리드 body에 보여줌
 2) Pager 업데이트


하지만 아쉽게도 데이터를 그리드 내부에 저장하는 로직이 들어있지 않아 페이지 이동을 하거나 컬럼헤더를 클릭하여 정렬 기능을 사용하면 원래 데이터로 돌아가 버린다.
(처음에 데이터가 없다면 빈그리드가 나타날 것이다.)

위의 주의해야 할 사항때문에 특별한 경우에만 이 메소드를 사용할 수 있을것 같다.

datatype:'local' 인 경우 addJSONData 보다는 아래 두가지 방법중에 하나를 사용하는게 더 편하지 않을까 싶다.
 - addRowData 메소드로 row를 하나씩 추가
 - setGridParams 메소드로 data를 업데이트하고 reload



댓글