2013-10-03 9 views
0

우리는 중형 백 오피스 애플리케이션을위한 새로운 차세대 서버를 구축하고 있습니다. 우리는 이미 클라이언트 측 (gwt \ vaadin \ zkoss)에 자바 프레임 워크를 사용하기로 결정했습니다.백 오피스 (Backoffice) 자바 클라이언트 프레임 워크 - 데먼에로드

각 기술에 대한 개념 증명 예제를 작성하는 것이 좋습니다.

우리 백 오피스 UI는 꽤 표준이지만 DB에서 직접 항목을 표시해야하는 필터가있는 tables \ grids가 있습니다.

문제가 발생했습니다. 각 테이블 (최소 1M)의 행이 많아서 은로드 주문형 테이블을 사용해야한다는 것을 의미합니다.

제 질문은 다음과 같습니다. 대형 테이블에 대한로드 온 디맨드 테이블을 어떻게 구현합니까? 나는 주위를 둘러 보았고 또 다시 다음과 같은 개념을 보았다.

컨테이너를 만들고 데이터로 채우면 데이터가 클라이언트 측에 표시된다.

문제는이 단순한 방법으로 컨테이너를 1M 항목으로 채우려 고 시도했지만 끔찍했습니다. 온 디맨드 컨테이너가 내장되어 있습니까?>

코드 예제 \ 참고 문헌은 큰 도움이 될 것입니다.

답변

0

GWT Cell Table에는 AsyncDataProvider이 있으며 서버에서 데이터를 가져 와서 사용자의 페이징 및 정렬 이벤트를 처리 할 수 ​​있습니다.

ListDataProvider 대체 데이터를 제공하여 개체 목록으로 데이터를 가져온 다음 테이블에 데이터를 설정할 수 있습니다. ListDataProvider을 사용하는 경우 Comparator으로 개체를 정렬하는 방법을 정의해야하며 table은 해당 목록에 대한 정렬 및 페이징을 처리합니다.

Google "gwt celltable asyncdataprovider 예제"더 많은 예제와 튜토리얼

0

Vaadin에는 대부분의 구성 요소에서 지연로드 데이터라는 멋진 개념이 있습니다. 예를 들어 테이블, 목록, 드롭 다운 등의 개념이 있습니다.

처음에 알아야 할 것은 총 행 수입니다. 그 외 모든 것은 "온 디맨드"로 처리 될 수 있습니다.

예를 들어 Table 구성 요소는 처음에는 약 30 개의 행만로드하고 (사용자 정의 할 수 있음) 그리고 필요에 따라 행을 페치합니다.

예 (또는 더 나은 그들은 대개 다음 행에 대한 사용자 scrols 전에 인출하는 것은) 당신이 당신의 백엔드에서 데이터를 검색하는 방법

http://demo.vaadin.com/dashboard/#!/transactions

가 사용되는 기술에 따라이 데모를합니다. 그러나 vaadin은 모든 1mio를로드 할 필요가없는 작업 개념을 가지고 있습니다. 행을 메모리에 저장하려면 행을 표시해야 할 때 "요청시 가져 오기"를 처리합니다.