SWT ComboViewer с ContentProposal и Pagination Control (большой объем данных)

Я реализовал ComboViewer, который также использует функциональность предложения контента (ContentProposalAdapter) в приложении Eclipse RCP (с использованием SWT). Пользователь может ввести первую букву, например. улица, и он получает все действительные предложения, например. улицы, которые начинаются с «Mac». Это работает действительно здорово. Теперь я столкнулся с дополнительной проблемой. Количество данных, отображаемых в этой комбинации, может быть очень большим. Теперь у меня есть почти 200000 записей для показа. Создание элемента Combo в графическом интерфейсе занимает вечность и приводит к сбою моего приложения RCP. Я подумал о том, чтобы ввести управление разбиением на страницы для этого ComboViewer. Я бы хотел, чтобы он работал очень похоже на это решение ExtJs:

http://dev.sencha.com/deploy/ext-4.0.1/examples/form/forum-search.html

Что мне удалось найти, так это управление разбивкой на страницы Nebula (https://www.eclipse.org/nebula/widgets/pagination/pagination.php) Я нашел только примеры, где пользователь находится в сетке, а не в комбо. Есть что-то вроде PageableTable, но мне нужно совсем другое. Есть ли у кого-нибудь пример объединения управления разбиением на страницы с ComboViewer? Может быть, какая-то другая идея, не обязательно Nebula?

Спасибо


person user3464862    schedule 28.04.2014    source источник


Ответы (1)


Вы можете попробовать использовать поле Text с AutoCompleteField и TextContentAdapter.

new AutoCompleteField(textControl, new TextContentAdapter(), suggestions);
person greg-449    schedule 28.04.2014
comment
Я использую элемент ComboViewer и Text с ContentAdapter. Собственно для данной ситуации это не имеет значения - всплывающее окно предложения с почти 200000 записями тоже не сработает. На создание этого элемента уходит очень много времени. У меня в графическом интерфейсе есть пара фильтров: можете себе представить: первый — Страна, Город, Улица. Вы можете выбрать ВСЕ для города для одной страны, и вы получите 200000 улиц.... В тот момент, когда я выбираю «ВСЕ» для города, мое приложение закрывается. Так что пагинация - это только возможность... - person user3464862; 28.04.2014