如何使用.NET从Lotus Notes中的“mail”获取视图列表?

时间:2009-08-31 14:03:02

标签: c# lotus-notes

我正在从Lotus Notes访问邮件。

为了访问“收件箱”,我使用下面的代码:

_notesDatabase = _lotusNotesServerSession.GetDatabase(LotusNotesServer, "mail\\" + nsfName, false);
NotesView inbox = _notesDatabase.GetView("($Inbox)");

同样适用于“草稿”。

但是我在这里指定GetView方法中每个视图的名称。 哪个编码不好。

我想使用C#列出这些视图“收件箱”,“草稿”。

有人可以给我解决方案吗?

3 个答案:

答案 0 :(得分:1)

NotesDatabase类的一个名为Views的属性允许您访问数据库中的所有视图。您可以遍历它们以访问每个视图。

open source class called DatabaseProperties也可以帮助您获取设计文档列表,特别是数据库中的视图,以及更多视图的属性。

答案 1 :(得分:1)

解决方案是:

Object[] docColl = _notesDatabase.Views as Object[];

foreach (Object objView in docColl) {  
   NotesView view = objView as NotesView;
   MessageBox.Show(view.Name);    
}

答案 2 :(得分:0)

在VB.net中,获取所有视图(和文件夹)以及每个视图以获取所有包含文档的基本代码如下所示:

Dim s As New notesSession
Dim db As notesDatabase
Set db = s.CurrentDatabase
Dim vws As Variant
vws = db.Views
Forall v In vws
    'New View being processed
    Dim doc As notesDocument
    Set doc = v.getFirstDocument()
    While Not (doc Is Nothing)
        ' do something for each document
        ' ....
        Set doc = v.getNextDocument(doc)
    Wend
End Forall