2011-10-13 74 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