2011-08-24 2 views
0

백엔드 도구 용 CRUD를 개발 중이며 DataTables (HTML 테이블 처리에 도움이되는 jQuery 플러그인)를 사용하여 각 행의 요소 목록을 옵션보기, 편집 및 제거. 표는 약 4,000 행이고 ​​로딩 시간은 약 7 초입니다. 나는 서버 측 프로세싱을 시도해 거의 개선되지 않았다. 나는 또한 설정했다.사이트를 방문 할 때마다 큰 html 표가로드되지 않도록하려면 어떻게해야합니까? (datatables, jQuery 플러그인 사용)

table-layout: fixed; 

그리고 그것도 도움이되지 않았다.

보기/편집을 클릭하고 다시 테이블로 돌아 가면 다시로드하는 데 7 초가 걸리는 문제가 있습니다.

내가 생각하고있는 솔루션에서 첫 번째로드 만 7 초가 걸리며 이후에는 intantaneously로드해야합니다. (사용자가 변경 사항을보고 싶을 경우 새로 고침하는 옵션을 제공합니다). 문제는이 작업을 수행하는 방법을 모른다는 것입니다.

내 아이디어가 도움이된다고 생각하는 경우 해결책을 도울 수 있습니까? 그렇지 않다면 어떻게해야합니까?

추 신 : 4,000 행 테이블의 로딩 시간은 7 초입니까? 아니면 나 다른 뭔가 잘못하고있는거야?

PS2 : PHP와 프레임 워크를 사용하여 개발하고 있습니다.

도움 주셔서 감사합니다.

UPDATE :

내가 부분적으로 내가 빠른 조명 작품 Deferred Rendering를 사용하여 큰 테이블을 표시하기 위해, 문제를 해결! 하지만 DataTables의 aaData 배열에 링크를 저장하는 방법을 알지 못합니다. (알려 주시면 알려주세요.) 반면에 테이블 렌더링이 실제로 느려지 게 된 원인은 각 행 (뷰/편집/삭제)에 3 개의 버튼이있어서 뷰를 제거하고 뷰 링크 만 사용한다는 것입니다. 2 초.

+1

메이트 JavaScript AJAX 기술에 대해 조금 읽었습니다. 사용자가 필드를 변경하면 AJAX에 의해 서버에 요청할 수 있으며 클라이언트 측을 사용하여 변경된 필드 만 변경할 수 있습니다 (따라서 전체 테이블을 다시로드 할 필요가 없습니다). –

+3

결과를보고 페이지를 페이지 요소로 다운로드하지 않는 이유는 무엇입니까? 그럼 당신은 4000 요소를 다운로드하지 않을거야; 한 번에 20 명 정도. – Tejs

+0

빠른 응답을 보내 주셔서 감사합니다. 제가 언급 한 플러그인을 사용하여 뻔뻔하고 청초한 솔루션을 읽었습니다. 그게 작동한다면, 여기에 게시하겠습니다. 그렇지 않다면, 내가 제안한 것을 시도하고 좀 더 AJAX를 읽으십시오. 감사. – chitty

답변

0

행을 페이지 당 10-25-50-100-500-1000-2000-4000으로 제한하십시오. 따라서 사용자가 모든 결과를보고 싶다면 사용자가 표시 할 정도를 선택하게하십시오. (stackoverflow의 시스템과 비슷한 것)

+1

죄송합니다. 페이지 설정을 허용하고 행을 페이지 당 100 개로 제한하는 기본 설정을 사용하고 있음을 잊어 버렸습니다. 문제는 필터링과 같은 기능을 사용하도록 DataTables에서 전체 데이터를로드한다는 것입니다. – chitty

+0

이 주제를 확인하십시오 : http://www.datatables.net/forums/discussion/83/how-to-pagination-with-ajax/p1 매개 변수 (yoursource.php? page)를 사용하여 서버 측에서 페이징을 수신 할 수 있습니다 = 2) DataTable에 결과를 채 웁니다. –