2009-08-31 9 views
0

J'accède au courrier à partir de Lotus notes.Comment obtenir la liste des vues de "mail" dans Lotus Notes en utilisant .NET?

Et pour accéder à "Boîte de réception" je suis en utilisant le code ci-dessous:

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

De même pour "Brouillons".

Mais ici, je spécifie le nom de chaque vue dans la méthode GetView. Ce qui n'est pas un bon codage.

Je souhaite répertorier ces vues "Boîte de réception", "Brouillons" en utilisant C#.

Quelqu'un peut-il me donner une solution?

Répondre

1

Solution est:

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

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

Il existe une propriété de la classe NotesDatabase appelée Views qui vous permet d'accéder à toutes les vues de la base de données. Vous pouvez les parcourir pour accéder à chaque vue.

Egalement, ce open source class called DatabaseProperties peut vous aider à obtenir une liste des documents de conception, notamment des vues dans la base de données et de nombreuses autres propriétés.

+0

_notesDatabase = _lotusNotesServerSession.GetDatabase (LotusNotesServer, "mail \" + nsfName, false); Après cela, j'utilise _notesDatabase.views(); Je suis nouveau en C#. Je suis en mesure d'afficher sa valeur. Pouvez-vous m'aider dans ce domaine? – Preeti

+0

J'ai eu une solution.Thanx Ken. – Preeti

0

En VB.net, le code de base pour obtenir toutes les vues (et dossiers) et pour chacun, pour obtenir tous les documents inclus, ressemblerait à quelque chose comme ceci:

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 
Questions connexes