먼저 질문에 대한 흥미로운 질문을 찾으십시오. 당신이 발견 한 것은 정말로 어려운 진단 일 수있는 커다란 문제 일 수 있습니다. 따라서 추천 요청에 해당 제안을 http://www.trirand.com/blog/?page_id=393/feature-request/에 두는 것이 좋습니다.
이제 해결 방법에 대해 알아보십시오. 가장 쉬운 방법은 서버 측에서 서로 다른 그리드에 대해 고유 한 ID를 생성하는 것입니다. 그러나 그것은 항상 가능한 원인은 아닙니다. jqGrid에서 JSON/XML 응답을 생성하는 서버 코드의 추가 매개 변수로 id_prefix
을 추가 할 수 있습니다. 그런 다음 서버는 jqGrid로 다시 보내기 전에이 접두사를 모든 ID에 추가해야합니다. 이 해결 방법은 좋지 않지만 작동합니다.
내가 보는 다른 방법은 jsonReader
(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#jsonreader_as_function 참조)에 대한 모든 jqGrids 행의 id를 변경하는 것입니다. jqGrid에 다음과 같은 매개 변수를 추가하면 다음과 같은 매개 변수가 추가됩니다.
jsonReader: { id: function(obj) { return "BlaBla" + obj.id; } }
표의 모든 ID에 접두사 "BlaBla"가 표시됩니다. 페이지 에서 jqGrids를 사용하여 그리드에 데이터 만 표시하면 이것이 해결책이 될 수 있습니다. 이 해결 방법을 생성 할 수있는 새로운 문제를 잊지 말아야합니다. 마스터/세부 시나리오를 사용하는 경우 편집/삭제 등을 고려해야합니다. 그리드의 ID에는 이제 접두어가 붙습니다. 따라서 id를 사용하기 전에 또는 id를 서버에 보내기 전에 onclickSubmit
, serializeRowData
, serializeGridData
등과 같은 추가 코드를 포함시켜야합니다.
안녕하세요 Tim! 나는 미래에 문제를 제거하는 http://www.trirand.com/blog/?page_id=393/feature-request/prefixes-to-rowids/ 제안에 게시했습니다. 오늘 Tony는 이것이 jqGrid의 3.8 버전에서 구현 될 것이라는 데 동의합니다. jqGrid 버전 3.8의 새로운 기능 목록은 http://www.trirand.com/blog/?page_id=393/releases/jqgrid-3-8-beta/도 참조하십시오. – Oleg
올렉,이 문제에 관심을 가져 주셔서 감사합니다! – Tim