2013-10-03 1 views
0

Мы создаем наш новый сервер следующего поколения для среднего офисного приложения. Мы уже решили использовать java-инфраструктуру для клиентской стороны (gwt \ vaadin \ zkoss)Backoffice java client framework - загрузка на deman

Теперь мы хотели бы создать пример Proof Of Concept для каждой технологии.

наш задний офис ui довольно стандартный, у нас есть таблицы \ сетки с фильтрами, которые должны показывать записи прямо из БД.

Проблема в том, что у нас есть огромное количество строк в каждой таблице (минимум 1M) , что означает, что мы должны использовать для них таблицы нагрузки по требованию.

Мои вопросы: как мне реализовать таблицу нагрузки по требованию для моих больших таблиц? Я огляделся и снова и снова увидел следующую концепцию:

Вы создаете контейнер, вы заполняете его данными, данные отображаются на стороне клиента.

проблема в том, что я пробовал этот наивный способ заполнить контейнеры 1M-элементами, и это было ужасно. есть ли встроенные контейнеры по запросу?>

любые примеры кода \ ссылки будут огромной помощью!

ответ

0

Вы бы хотели использовать GWT Cell Table, который имеет AsyncDataProvider, который позволяет обрабатывать пользовательские поисковые вызовы и сортировать события, захватывая данные с вашего сервера.

Он также предоставляет альтернативу ListDataProvider, которая позволяет вам захватывать ваши данные как список объектов, а затем устанавливать эти данные в таблицу. Если вы используете ListDataProvider, вы должны определить, как сортировать свои объекты с помощью Comparator s, а таблица будет обрабатывать сортировку и подкачку против этого списка.

Google "gwt celltable asyncdataprovider example" для получения дополнительных примеров и руководств.

0

У Vaadin есть хорошая концепция ленивых данных по загрузке в большинстве компонентов. Например, таблица, список, раскрывающийся список и т. Д. Имеют эту концепцию.

Единственное, что вам нужно знать в начале, это количество полных строк. Все остальное может быть обработано «ondemand».

Например, компонент таблицы первоначально загружает только 30 строк (может быть настроен) , а затем извлекает строки по мере необходимости. (Или лучше они, как правило, принес как раз перед пользователем scrols в следующих строках)

пример этой демке

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

Как извлечь данные из внутреннего интерфейса зависит от используемой технологии. Но у vaadin есть рабочие концепции, где вам не нужно загружать все 1mio. строки в память, будет обрабатывать «выборку по требованию», поскольку строки должны отображаться.