• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Collection = View.getalldocumentsbykey

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Hi! all
В представлении доки отсортированы по определенному полю
Set vCalView = web.database.GetView("(ThreadsCat)") ''Вью со всеми категориями

Забираю доки в коллекшон
category = web.document.Categories(0) '' имя категории в меню
Set vDocCollection = vCalView.GetAllDocumentsByKey(category, True)
далее
'Loop all table and display entries.
Set vDoc = vDocCollection.GetFirstDocument
Do
... вывод table ...

Сответственно GetAllDocumentsByKey сортирует доки по своему, не так как было в представе.

Как бы сделать коллекшон без нарушения сортировки? Другой метод? Папку? хм...
 
D

D!m@n

Идите прямо по представлению.
Код:
Set doc = view.GetFirstDocument()
Do Until doc.Category(0)=category Or doc Is Nothing
Set doc=view.GetNextDocument(doc)
Loop

If Not doc Is Nothing And doc.category(0)=category Then
Do Until doc.category(0)<>category Or doc Is Nothing
' обработка
Set doc=view.GetNextDocument(doc)
Loop
End If

Это, конечно довольно медленно, но другого пути сохранить сортировку я не знаю.
 
M

morpheus

NetWood
может попробуйте поработаь с NotesViewEntryCollection

This class provides you mainly with a collection of documents in a view-sorted order.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!