合并多个NotesViewEntryCollection并在日期排序

时间:2011-10-13 11:19:08

标签: lotus-notes lotus-domino xpages notesview

我有一些NotesViewEntryCollection要合并到一个集合中,然后按日期排序。所有集合都是从同一视图中收集的,因此不存在转换问题。

试图谷歌解决这个问题,但除了编写一堆for循环外,似乎无法找到任何好的解决方案。

Thnx提前!

4 个答案:

答案 0 :(得分:4)

假设您使用的是LotusScript和最新版本的Notes(8+)。您可以使用merge方法。帮助here中提供的示例应该可以帮助您入门。使用IBM报告的caveats时要注意一些NotesViewEntryCollections

NotesViewEntryCollection为您提供了一个已排序的集合,并且merge方法还将为您提供一个唯一的排序文档列表,这与常规的NotesDocumentCollection不同,后者只是一个未排序的存储桶。

答案 1 :(得分:3)

我最近发现这一点,如果从一个视图创建NotesViewEntry,则只能添加该视图中存在的条目。因此,您无法合并来自两个不同视图的条目。

可能的方法是使用java.util.TreeMap,将条目以日期作为键推入TreeMap。这可能有效,但您可能需要在添加它们之前将NotesViewEntry对象转换为您自己的非Notes对象。如果您希望将它们存储在会话或应用程序范围的托管bean中,情况肯定会如此。无论你如何存储它们,如果你使用TreeMap,如果你处理很多条目,它将会有性能损失。

答案 2 :(得分:1)

如果您使用的是Notes 8.0或更高版本,则可以调用Merge方法将两个集合合并在一起。否则,你是正确的,你必须遍历每个集合并调用AddEntry一次添加一个条目。

答案 3 :(得分:1)

它没有回答您的问题,但可以将所有文档移动到(临时)文件夹。此文件夹可以处理排序和合并。