我有一些要合并到一个集合中的 NotesViewEntryCollection,然后按日期排序。所有的集合都是从同一个视图收集的,所以不会有转换问题。
试图用谷歌搜索这个问题,但除了写一堆for循环之外,似乎找不到任何好的解决方案。
提前谢谢!
我有一些要合并到一个集合中的 NotesViewEntryCollection,然后按日期排序。所有的集合都是从同一个视图收集的,所以不会有转换问题。
试图用谷歌搜索这个问题,但除了写一堆for循环之外,似乎找不到任何好的解决方案。
提前谢谢!
假设您使用的是 LotusScript 和最新版本的 Notes (8+)。您可以使用合并方法。此处帮助中提供的示例应该可以帮助您入门。使用IBM 报告的NotesViewEntryCollections时,请注意一些注意事项。
NotesViewEntryCollection 为您提供排序的集合,merge 方法还将为您提供唯一的排序文档列表,这与常规的 NotesDocumentCollection 不同,它只是一个未排序的存储桶。
我最近发现,如果您从一个视图创建 NotesViewEntry,则只能添加该视图中存在的条目。因此,您不能合并来自两个不同视图的条目。
解决此问题的一种可能方法是使用 java.util.TreeMap,将条目推送到 TreeMap 中,并以日期为键。这可能有效,但您可能需要先将 NotesViewEntry 对象转换为您自己的非 Notes 对象,然后再添加它们。如果您想将它们存储在会话或应用程序范围的托管 bean 中,肯定会出现这种情况。无论您如何存储它们,如果您使用 TreeMap,如果您要处理大量条目,都会对性能造成影响。
它没有回答您的问题,但可以将所有文档移动到(临时)文件夹。这个文件夹可以负责排序和合并。
如果您使用的是 Notes 8.0 或更高版本,则可以调用 Merge 方法将两个集合合并在一起。否则,您是正确的,您必须遍历每个集合并调用 AddEntry 一次添加每个条目。