2016-12-08 4 views
1

Ich habe eine Liste, aber ich möchte nur meine Liste auf Dokumente mit der aktuellen Unid beschränken, die im Browser erscheint, habe ich dies durch Aufruf der getDocumentByKey getan Methode des ViewEv-Objekts und übergeben Sie das Unid-Argument.Xpages - Rückgabe korrekter Dokumente mit getDocumentByKey (unid, true)

Strangly, das funktionierte nur für das neueste Dokument. Bei den anderen Dokumenten wird nur die Liste angezeigt, die nicht zur unid im Browser gehört.

Jede Hilfe wird geschätzt.

Unten ist mein Code:

function getCalObj(){ 
    var viewEv:NotesView = database.getView("Diary"); 
    viewEv.setAutoUpdate(false);  
    var docEv:NotesDocument = viewEv.getFirstDocument(); 
    var doc:NotesDocument = diaryDoc.getDocument(); 
    var sUNID = doc.getUniversalID(); 
    print("unid: " + sUNID); 
    docEv = viewEv.getDocumentByKey(sUNID, true); 

    while (docEv != null) { 
     ........ 
    } 
} 
+0

Sollten Sie nicht ** all ** DocumentsByKey() verwenden, um ** alle ** Dokumente mit dieser sUNID zu erhalten? –

+0

Ja, das wurde verpasst. Ich habe die folgende Änderung gemacht und es funktioniert jetzt. Danke. var dcEv: NotesDocumentCollection = viewEv.getAllDocumentsByKey (sUNID); \t if (dcEv.getCount() == 0) { \t print ("Daten nicht verfügbar ...") } var docEv: Notesdocument = dcEv.getFirstDocument(); while (docEv! = Null) { ........ } –

+0

Gut, ich habe dies in einer Antwort. –

Antwort

2

Verwenden Alle DocumentsByKey get() alle Dokumente mit diesem sUNID zu erhalten.

var dcEv:NotesDocumentCollection = viewEv.getAllDocumentsByKey(sUNID); 
if (dcEv.getCount() > 0) { 
    var docEv:NotesDocument = dcEv.getFirstDocument(); 
    while (docEv != null) { 
     ........ 
    } 
+0

Danke dafür, Krut. –

Verwandte Themen