我有一些NotesViewEntryCollection要合并到一个集合中,然后按日期排序。所有集合都是从同一视图中收集的,因此不存在转换问题。
试图谷歌解决这个问题,但除了编写一堆for循环外,似乎无法找到任何好的解决方案。
Thnx提前!
答案 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)
它没有回答您的问题,但可以将所有文档移动到(临时)文件夹。此文件夹可以处理排序和合并。