嘗試使用Domino互操作在C#應用程序中找到NotesDocument class的給定實例的父文件夾/視圖。找到NotesDocument實例的父文件夾
目標是使用NotesDatabase
上的AllDocuments
屬性,然後忽略用戶丟棄的所有文檔。看起來AllDocuments
視圖返回從$Trash
中刪除的文檔,因此保留在數據庫中作爲參考點;我想忽略這些文件。另外ParentView
和ParentDocumentUNID
都是空的。
嘗試使用Domino互操作在C#應用程序中找到NotesDocument class的給定實例的父文件夾/視圖。找到NotesDocument實例的父文件夾
目標是使用NotesDatabase
上的AllDocuments
屬性,然後忽略用戶丟棄的所有文檔。看起來AllDocuments
視圖返回從$Trash
中刪除的文檔,因此保留在數據庫中作爲參考點;我想忽略這些文件。另外ParentView
和ParentDocumentUNID
都是空的。
當您說「從$Trash
中刪除」時,您是否指$Trash
中出現的軟刪除文檔或留下刪除存根的硬刪除文檔?
假設通過互操作可以訪問上述屬性:
對於軟刪除文檔,FolderReferences可能會有所幫助。但是它要求數據庫具有$ FolderInfo和$ FolderRefInfo隱藏視圖。
硬刪除的文檔(刪除存根)只應在AllDocuments
NotesDocumentCollection中出現,如果它們在獲取集合後被刪除。在這種情況下,IsDeleted NotesDocument屬性可能會有所幫助。
ParentDocumentUNID
對於不是響應的文檔返回空字符串,但它與刪除無關。 ParentView
返回檢索文檔的視圖,在這種情況下爲Nothing
,因爲文檔未從視圖中檢索。
混淆了IsDeleted標誌,因爲它總是顯示爲false。如果我可以簡單地迭代AllDocuments屬性並忽略任何被刪除的東西,但是IsDeleted標誌總是返回false,這似乎不可能。最終目標是將$ Inbox,$ Sent和用戶創建的自定義文件夾中的電子郵件發送到電子郵件地址。如果有更好的(更簡單)的方式來獲得用戶定義的文件夾,那將是非常棒的。 – 2011-04-19 18:45:25
如果FolderReferences沒有幫助,那麼可以選擇在$ Trash文件夾中構建所有文檔的UniversalID的數組,並針對這些文檔檢查每個文檔的UniversalID(您使用「AllDocuments」屬性獲得的文檔)。您可以使用'NotesDatabase.GetView(「$ Trash」)'獲得$ Trash文件夾,然後使用'NotesView.GetFirstDocument'和'NotesView.GetNextDocument'迭代文檔。 – Hristo 2011-04-19 19:13:36
@Hristo問題是$垃圾沒有包含任何內容,實際上是空的。我需要避免所提到的刪除存根位於AllDocuments屬性中。 – 2011-04-19 19:33:19