Domino 9 und frühere Versionen > Entwicklung

DocumentCollection sortieren

(1/2) > >>

Monster:
Hallo Admins,

zum Wochenende habe ich eine Frage,

Wie kann ich die NotesDocumentCollection sortieren,
abfragen funktioniert

coll.issorted

Danke

Performance:
eine doc collection sortieren ist meiner Meinung nach mehr Aufwand - es geht aber, das ist kein Thema - ich mache das mit einer Ansicht die die erste Spalte sortiert hat, sozusagen als Sortierkriterium - dann wird die collection aufgebaut:

Dim vc As NotesViewEntryCollection
Set db = session.CurrentDatabase
Set view = db.GetView("By Category")
Set vc = view.AllEntries


somit ist die collection vorsortiert



cu

eknori:
guckst du hier

http://eknori.dyndns.org/knowledge/devidea.nsf/Alpha/76D771F265E915268025687700475CEA?OpenDocument

Monster:
ich habe Probleme damit,
funktioniert nicht (zumindest kann ich es wahrscheinlich nicht richtig einsetzen )

kurze Erklärung:

-> über pickListString rufe ich eine Ansicht auf,
- Ein Wert auswählbar
- Bei Auswahl speichert er den Wert in eine Variant

->über PickListCollection öffnet er eine 2 Ansicht ( abhängig von der oberen Auswahl )
- mehrere Werte auswählbar
- die Ansicht ist Sortiert ( Wert = 1 oder 2 oder 3 )

mein Script würfelt aber die Auswahl durcheinander.
siehe :

Dim picklist As Variant
picklist = workspace.Pickliststrings(3,1,server$, databaseFileName$ , "($Kategorie)" , title$ , prompt$,1)   
   
   
Set coll = workspace.PickListCollection( 1,True , server$, databaseFileName$ ,"view" &picklist(0), title$ , prompt$)    
   Set doc_anschreiben=coll.GetFirstDocument
   
' Eine Abfrage ob sortiert
If coll.IsSorted Then
   Messagebox( "Auswahl ist sortiert" )
   Else
   Messagebox( "Auswahl ist nicht sortiert" )
End If
   
For i = 1 To coll.count         
   Set rtInhalt = doc_anschreiben.GetFirstItem("Inhalt")   Messagebox rtInhalt.Text
   t=t & Chr(10) & rtInhalt.Text
   Set doc_anschreiben=coll.GetnextDocument(doc_anschreiben)
Next i
   
Gibt es nicht eine andere Möglichkeit, das ich das schon vordefinieren kann.

Gruss

Monster

Monster:
Hallo @eknori,

da habe ich wohl ziehmlich lang getippt.

Habe leider in der riesen Sammlung nichts gefunden....

( oder wer lesen kann.... )

vielleicht hast du einen direkten LINK zum Dokument,
auf deiner Homepage.


Momentanes Script:
   
   ' Auswahl der Kategorie
   Dim picklist As Variant
   picklist = workspace.Pickliststrings(3,1,server$, databaseFileName$ , "($Kategorie)" , title$ , prompt$,1)   
   
   Set view = db.getview("view" &picklist(0))
   Set vc = view.AllEntries
   
   Set coll = workspace.PickListCollection( 1,True , server$, databaseFileName$ ,"view" &picklist(0), title$ , prompt$)    
   Set doc_anschreiben=coll.GetFirstDocument
   locationCount = 0
   'Set locationDoc = employeeLocationCollection.GetFirstDocument
   While Not doc_anschreiben Is Nothing
      Redim Preserve locationArray(locationCount) As String
      Set rtInhalt = doc_anschreiben.GetFirstItem("Inhalt")   
      locationArray(locationCount) =  rtInhalt.Text
      locationCount = locationCount + 1
      Set doc_anschreiben = coll.GetNextDocument(doc_anschreiben)
   Wend
   
   locationCount=Ubound(locationArray)
   For i = 0 To    locationCount   
      Messagebox locationArray(i)
      t=t & Chr(10)& locationArray(i)
   Next i
   
   
   Call uidoc.fieldsettext("Body",t & Chr(10) & uidoc.fieldgetText("Body"))

LEIDER SPEICHERT ER ES IN EINER ANDEREN REIHENFOLGE WIE AUSGEWÄHLT.
( die 1.Spalte in der Ansicht ist sortiert  )


Gruss

Monster

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln