Получить массив документов из RepeatControl

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 803
21
#1
Всем привет!
Задача в следующем... нужно реализовать навигацию по документам RepeatControl предыдущий/следующий по нажатию на соответствующие кнопки. Можно на CSJS или SSJS.

Была идея воспользоваться такой
Для просмотра контента необходимо: Войти или зарегистрироваться
.. якобы возвращает коллекцию документов и обращаться к документу можно по индексу. Но почему-то не работает :(
 

romych2004

Lotus team
01.04.2013
112
20
#2
Приветы :)

А кнопки внутри репитера находятся?

UPD: в общем суть такая:
view1.getAllEntries().getNthEntry(repeaterIndex + 2) - следующий
view1.getAllEntries().getNthEntry(repeaterIndex) - предыдущий
 
Последнее редактирование:

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 803
21
#3
Нет. Кнопки за пределами репитера.
Код:
view1.getAllEntries().getNthEntry(repeaterIndex + 2) - следующий
view1.getAllEntries().getNthEntry(repeaterIndex) - предыдущий
Такая конструкция хороша, если вид плоский. У меня вид отфильтрован по категории. В моем случае это возвращает что попало
 

romych2004

Lotus team
01.04.2013
112
20
#4
XPages по большому счету использует обычные стандартные лотусовые классы. Репитер по категории - это навигатор по категории.
Код:
var nav:NotesViewNavigator = view1.createViewNavFromCategory(<CATEGORY NAME>);
nav.getNth(repeaterIndex + 2);
nav.getNth(repeaterIndex);
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 803
21
#5
XPages по большому счету использует обычные стандартные лотусовые классы. Репитер по категории - это навигатор по категории.
Код:
var nav:NotesViewNavigator = view1.createViewNavFromCategory(<CATEGORY NAME>);
nav.getNth(repeaterIndex + 2);
nav.getNth(repeaterIndex);
Спасибо! Надо будет попробовать
 

cLif

Well-known member
27.09.2010
50
4
#6
Ещё как вариант, привязать (свойство binding), компонент к Java-объекту. Из него можно получить все что угодно по самому компоненту, т.к. это будет по сути объект, представляющий компонент.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 803
21
#8
Да... народ зарабатывает на комментариях? :)
Забыл отписаться... вопрос решил :)
Не самый изящный способ, но тем не менее работает:
1. при нажатии на кнопку получаю юнид текущего документа.
2. формирую NotesViewEntryCollection из вида, который используется в репитере
3. нахожу позицию текущего документа
4. в зависимости от кнопки getNextEntry или getPrevEntry
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#9
Да... народ зарабатывает на комментариях? :)
Забыл отписаться... вопрос решил :)
Не самый изящный способ, но тем не менее работает:
1. при нажатии на кнопку получаю юнид текущего документа.
2. формирую NotesViewEntryCollection из вида, который используется в репитере
3. нахожу позицию текущего документа
4. в зависимости от кнопки getNextEntry или getPrevEntry
если это про меня - вопрос не праздный
я корячусь буфер использовать в переборе ентрисов, и разражаюсь секундными задержками (на сервере), а тут - встречаешь советы getNth
именно с репитом - вопросом получения неких параметров по индексу не озадачивался , использую gridx
и ссылка на пример не работает...
Domain Name: MYDOMINOLAB.COM
Registry Domain ID: 1608090533_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.enom.com
Registrar URL:
Для просмотра контента необходимо: Войти или зарегистрироваться

Updated Date: 2016-09-05T05:18:29.00Z
Creation Date: 2010-07-25T01:42:00.00Z
Registrar Registration Expiration Date: 2016-07-25T00:42:36.00Z
R
т.е. регистрация просрочена
у меня на домене так
Updated Date: 2016-06-01T08:38:49Z
Creation Date: 2001-06-20T04:00:00Z
Registrar Registration Expiration Date: 2017-06-20T04:00:00Z
и хост не резолвится
host
Для просмотра контента необходимо: Войти или зарегистрироваться

Host
Для просмотра контента необходимо: Войти или зарегистрироваться
not found: 3(NXDOMAIN)
 
Последнее редактирование:

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 803
21
#10
та не, не про тебя :)
Задержек у меня нет... отклик достаточно быстрый.
Да как ни крути, а все равно будешь занимать память. Ведь при каждом клике все равно навигатор или коллекция перестраивается :(
Вот если бы глобально поиметь объект.
Ну и еще проблема - у меня кнопки за пределами репитера и получается методы репитера не доступны
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#14
повторюсь - если getNth из навигатора - перебор будет (потому как все нотусевые классы, реализ. проход по коллекциям, именно так и делают)
и в гайдах по перформансам всегда делают на "это" акцент
 

romych2004

Lotus team
01.04.2013
112
20
#15
повторюсь - если getNth из навигатора - перебор будет (потому как все нотусевые классы, реализ. проход по коллекциям, именно так и делают)
и в гайдах по перформансам всегда делают на "это" акцент
Мне кажется ты путаешь перебор по коллекции с помощью getNth и использовать единоразово его.