2012-02-20 5 views
0

데이터 유형이 로컬 인 Jqgrid가 있습니다. addRowData, setCell을 사용하여 런타임에 데이터를로드하고 있습니다. 모든 것이 훌륭하게 작동합니다. 그리드가 얼마나 많은 페이지가 있는지 모르기 때문에 그리드에 전체 데이터를로드하지는 않습니다. 내 서버는 그리드에 설정해야하는 개수를 반환합니다. 워드 프로세서는 ReadOnly라고합니다. 마지막 페이지 (페이지 수)를 그리드에 어떻게 설정합니까? 어떤 제안. 감사합니다, SarathJqGrid 로컬 데이터 유형의 마지막 페이지 설정

답변

2

addRowData 방법의 사용이있는 jqGrid 가장 오래되고있는 jqGrid에 데이터를 입력하는 가장 비효율적 인 방법입니다 채우기 위해. 문제는 쉽습니다. 페이지에 요소를 배치하면 페이지의 다른 모든 요소의 위치를 ​​다시 계산해야합니다. 그것은 웹 브라우저의 많은 자원을 만듭니다. 의 한 단계 인에있는 전체 jqGrid 본문을 채우는 것은 특히 많은 수의 삽입 된 행을 사용하는 경우 더욱 효과적입니다. 거의 사용하지 않는 경우에만 addRowData 메서드를 사용해야합니다.

훨씬 효과적는 데이터 그리드를 기입 할 수있는 jqGrid의 data 파라미터를 사용하여 데이터 sortnamesortorder에 대응 정렬 rowNum 페이지 당 행의 수를 정의하는 첫 번째 페이지를 표시 할 수있을 것이다. 또한 이 아닌afterInsertRow 콜백을 사용하고 gridview: true을 사용해야합니다. 이 경우 jqGrid의 채우기가 가장 효과적입니다.

그리드의 페이지 수는 입니다. 그리드의 행 수를 기준으로 자동으로입니다. 당신이 서버 측datatype ('json' 또는 'xml') 클라이언트 부분은 총 페이지 수를 모르는 그래서 하나는 입력 데이터 함께 주요 데이터 total, pagerecords를 입력해야 사용하는 경우에만 (documentation 참조) . 낮은 수준의 방법 addJSONData을 사용하는 경우 그리드를 데이터로 채우고 원하는 값으로 total, pagerecords을 설정하십시오.

일부 시나리오에서 사용할 수있는 또 다른 방법은 datatype: 'jsonstring'입니다. 데이터는 datastr 옵션의 값으로 배치 할 수 있습니다. 그런데 datastr의 값은 JSON 문자열 일뿐만 아니라 객체가 될 수도 있습니다.

+0

제안 해 주셔서 감사합니다. 나는 Json으로 시작했지만 addRowData와 setCell을 사용해야했다. 반환 된 데이터는 상당히 복잡한 json이다. 다음 패스에서 제안 된대로 변경됩니다. 하지만 현재는 맞춤 호출기를 사용할 예정입니다. lastpage가 ReadOnly가 아니 었 더라면 편리했을 것입니다. – Sarath

+0

@Sarath : 천만에요! jqGrid는 실제로 모든 JSON 데이터를 읽을 수 있습니다. 'jsonReader'를 사용하거나 JSON 데이터를'beforeProcessing' * 안에서 수정할 수 있습니다. * 전에 jqGrid가 데이터를 처리합니다. 함수를 사용하는'jsonReader' (실제로는 읽을 수있는 [here] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#jsonreader_as_function) 또는'jsonmap'을보세요) 모든 JSON 데이터. – Oleg

관련 문제