Форум продуктов IBM Lotus

Общие вопросы => Разработка приложений => Тема начата: CL1F от 13 Октябрь 2011, 06:42:56

Название: Постраничный вывод
Отправлено: CL1F от 13 Октябрь 2011, 06:42:56
Допустим мы имеем базу с 10 000 записями (например товар или новости)
как из агента организовать постраничный вывод выборки допустим по 20 (50, 100) записей ...

пока реализовано следующим образом ...

1) агент ловит на какую станицу перейти ( p = 5 ) если не ловит(или не верный параметр) то вывод первой страницы
2) формируем запрос и сортировку , указываем кол-во выборки данных (5+1)*20 (в нашем случае)
3) формируем массив с 100 (5*20) до упора (6*20=120)

траблы:
1) плохой метод ... сделать выборку что бы отбросить данные ...
2) не вывести выборку 5000+
Название: Re: Постраничный вывод
Отправлено: CL1F от 21 Октябрь 2011, 11:14:44
прошла неделя ... ответов нет  ...
как вы решаете аналогичные задачи? ... хоть варианты предложите
Название: Re: Постраничный вывод
Отправлено: ViV от 08 Ноябрь 2011, 01:54:37
Добрый вечер!

Если у вас есть предел в 5000 документов, то скорее всего вы пользуетесь полнотекстовым поиском для формирования выборки документов. Это предел по умолчанию, его можно расширить с помощью переменной "FT_Max_Search_Results" в notes.ini.

Вариантов выборок много? Если их по пальцам пересчитать, то сделайте виды под них и для страничной навигации обращайтесь к нужным ViewEntry в виде.
Название: Re: Постраничный вывод
Отправлено: CL1F от 15 Ноябрь 2011, 12:46:35
ViV как вы реализовали падинацию вида
<<__<__1__ 2__ 3__ 4__ 5__ 6__ 7__ ...__ 65__ >__ >>
Название: Re: Постраничный вывод
Отправлено: ViV от 21 Ноябрь 2011, 00:46:24
Если нагрузка на приложение небольшая, то можно воспользоваться функцией notesViewEntryCollection.GetNthEntry()

Но проще использовать XPages для реализации, там есть встроенный компонент постраничного вывода.