2011년 7월 25일 월요일

jqGrid, loadonce 옵션 때문에 망한 경험담

loadonce 옵션을 false로 줄 때

auto-increment int인 PK를 가지는 테이블일 때, loadonce:false 상태에서 새로운 row를 등록하면 PK를 제대로 잡지 못한 상태가 된다.


새로운 row 등록 -> 서버쪽에서 PK 생성 -> loadonce:true라서 서버사이드에서 피드백 오지 않음 -> 클라이언트에서는 새로운 데이터에 지맘대로 PK 설정.


이 상태에서 새로 등록된 데이터를 수정하면 지맘대로 설정한 PK값을 가지고 있는 기존 row를 오염시킨다.





loadonce:true로 줄 때

jqGrid에 채우는 데이터가 DB에서 JOIN을 많이 사용한 쿼리문을 통해서 만들어졌을 경우 검색이 제대로 돌아가게 만들기가 만만치 않다.




이 둘 사이에 끼어서 고생 좀 한 적이 있음.

댓글 없음:

댓글 쓰기