2011-10-13 78 views
1

我有一些NotesViewEntryCollection,我想合并成一个集合,然后按日期排序。所有的集合都是从同一个视图收集的,所以不会是一个转换问题。合并多个NotesViewEntryCollection和排序日期

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

Thnx提前!

回答

4

假设您正在使用LotusScript和最新版本的Notes(8+)。您可以使用merge方法。帮助中提供的示例here应该可以帮助您开始使用。当IBM使用NotesViewEntryCollections时,请注意一些caveats

NotesViewEntryCollection为您提供了一个排序的集合,并且合并方法也会为您提供一个唯一的排序列表,与常规的NotesDocumentCollection不同,它只是一个未排序的存储桶。

1

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

1

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

3

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

一个可能的方法是使用java.util.TreeMap,将条目推入以日期为关键字的TreeMap中。这可能会起作用,但是在添加Notes对象之前,您可能需要将NotesViewEntry对象转换为您自己的非Notes对象。如果要将它们存储在会话或应用程序范围的受管Bean中,这肯定会是这种情况。不管你如何存储它们,如果你使用TreeMap,如果你处理很多条目,它将会有性能问题。

+0

实际上,您需要3个集合: 2 NotesViewEntryCollection 1笔记笔记集合 您将来自2个前者的条目添加到后者中。这应该够了吧 – stwissel