2011-12-27 2 views
0

JQgrid를 사용하여 XML을 통해 많은 양의 데이터를로드하는 시스템이 있습니다. 실제 성능 문제는 모든 행이 php에서 오랫동안 처리되어 왔기 때문에 (계산 가져 오기와 모든 종류의 PHP 장점 ...) 처리 된 행을 LIVE로 가져올 수 있는지 궁금합니다. 총액 그리드로드가 동일하지만 그리드가 천천히 채워지는 것을 볼 수 있기 때문에 사용자 환경이 더 좋습니다.JQgrid를 사용한 라이브 데이터로드

그럴 수 있습니까?

+1

더 많은 사용자가 질문에 대한 적절한 답변을 제공 할 수 있도록 수행하고자하는 세부 사항을 추가하십시오. –

+0

또는 "계산 가져 오기 및 모든 종류의 PHP 장점 ..."을 최적화하면 발생하는 것으로 보이는로드 시간 문제를 줄일 수 있습니다. –

답변

0

그리드 로딩 방법을 변경하면됩니다. 데이터를 가져 오는 간단한 방법 (url : 'myXMLData.php'매개 변수를 통해 그리드 내에서 직접 액세스 함)을 사용하는 대신 표 대신 addXmlData을 수동으로 채 웁니다.

기본적으로 프로세스는 빈 값으로 그리드를 초기화 한 다음 서버에 요청을 시작하여 응답 작성을 시작합니다. 이 요청은 즉시 반환되어 시간이 지남에 따라 빌드 될 XML 위치에 대한 참조를 전달합니다. 또한이 초기 요청은 처리 및 XML 구성을 임시 캐시 위치 (참조로 반환 된 동일한 위치에 빌드)에 실제로 수행 할 서버의 백그라운드 작업을 포크합니다. 브라우저 측에서 해당 참조가 저장되고 주기적으로 폴링되어 새 XML 데이터를 확인합니다 (jQuery Ajax 메소드 사용). 이 폴링들 각각으로부터 응답을 얻은 후에 위에서 링크 된 addXmlData() 메소드를 사용하여 현재 데이터 세트로 jqGrid를로드하십시오. 서버의 응답에 예상되는 모든 행이 포함되어 있으면 폴링이 중지 될 수 있습니다. XML 캐시를 정리하기 위해 주기적으로 실행되는 서버의 태스크가 필요합니다.

+0

답변 해 주셔서 감사합니다 ... - 내가 제안한 addXmlData를 확인해 보겠습니다. – hananyariv

관련 문제