2011-04-19 37 views
0

嘗試使用Domino互操作在C#應用程序中找到NotesDocument class的給定實例的父文件夾/視圖。找到NotesDocument實例的父文件夾

目標是使用NotesDatabase上的AllDocuments屬性,然後忽略用戶丟棄的所有文檔。看起來AllDocuments視圖返回從$Trash中刪除的文檔,因此保留在數據庫中作爲參考點;我想忽略這些文件。另外ParentViewParentDocumentUNID都是空的。

回答

2

當您說「從$Trash中刪除」時,您是否指$Trash中出現的軟刪除文檔或留下刪除存根的硬刪除文檔?

假設通過互操作可以訪問上述屬性:
對於軟刪除文檔,FolderReferences可能會有所幫助。但是它要求數據庫具有$ FolderInfo和$ FolderRefInfo隱藏視圖。
硬刪除的文檔(刪除存根)只應在AllDocuments NotesDocumentCollection中出現,如果它們在獲取集合後被刪除。在這種情況下,IsDeleted NotesDocument屬性可能會有所幫助。

ParentDocumentUNID對於不是響應的文檔返回空字符串,但它與刪除無關。 ParentView返回檢索文檔的視圖,在這種情況下爲Nothing,因爲文檔未從視圖中檢索。

+0

混淆了IsDeleted標誌,因爲它總是顯示爲false。如果我可以簡單地迭代AllDocuments屬性並忽略任何被刪除的東西,但是IsDeleted標誌總是返回false,這似乎不可能。最終目標是將$ Inbox,$ Sent和用戶創建的自定義文件夾中的電子郵件發送到電子郵件地址。如果有更好的(更簡單)的方式來獲得用戶定義的文件夾,那將是非常棒的。 – 2011-04-19 18:45:25

+0

如果FolderReferences沒有幫助,那麼可以選擇在$ Trash文件夾中構建所有文檔的UniversalID的數組,並針對這些文檔檢查每個文檔的UniversalID(您使用「AllDocuments」屬性獲得的文檔)。您可以使用'NotesDatabase.GetView(「$ Trash」)'獲得$ Trash文件夾,然後使用'NotesView.GetFirstDocument'和'NotesView.GetNextDocument'迭代文檔。 – Hristo 2011-04-19 19:13:36

+0

@Hristo問題是$垃圾沒有包含任何內容,實際上是空的。我需要避免所提到的刪除存根位於AllDocuments屬性中。 – 2011-04-19 19:33:19