GWT - заполнять грид асинхронно - PullRequest
2 голосов
/ 22 января 2010

у нас есть приложение GWT с простой маской поиска, отображающей результаты в виде сетки.

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

Время рендеринга клиента в порядке даже на оборудовании с низкой спецификацией и Internet Explorer 6, если количество результатов не слишком велико (максимум 100 строк в сетке).

Мы реализовали навигационную схему, позволяющую пользователю прокручивать сетку вверх / вниз. Это тоже достаточно быстро.

Кто-нибудь задумывался, можно ли сразу отобразить первые 100 результатов, а остальные перенести на задний план? Архитектура GWT позволяет это. Однако меня интересуют возможные подводные камни, например что произойдет, если пользователь запустит другой запрос, пока браузер все еще извлекает предыдущие результаты и т. д.

Спасибо! Хольгер

Ответы [ 2 ]

0 голосов
/ 24 января 2010

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

Другой способ, которым вы можете воспользоваться, - назначить идентификаторы поисковым запросам пользователей. это сделает проблему смешанных результатов несуществующей, а также поможет вам с историей результатов для нескольких поисков.

мы обнаружили, что пользователям нравится live grid look & feel, который решает большинство из этих проблем, но это не всегда может быть необязательным.

0 голосов
/ 23 января 2010

LazyPanel и этот блог может быть хорошей отправной точкой для вас :)

Инкубатор GWT также имеет много интересного (хотя и не всегда полные / идеальные / стабильные) таблицы и другие решения для разбивки на страницы - такие как PagingScrollTable .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...