Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: C_T am 05.02.07 - 15:43:40

Titel: Collections
Beitrag von: C_T am 05.02.07 - 15:43:40
HI@all

habe eine Frage. Ich habe folgendes Szenario

1 Ansicht
GruppeName
1Person 1
2Person 2
3Person 1
4Person 3

nun will ich z.b. alle Leute mit der Gruppe 1 und 4 in eine Collection packen. Wie mache ich das am besten???

CU
C_T
Titel: Re: Collections
Beitrag von: w3dev am 05.02.07 - 15:55:19
LotusScript: view.getAllDocumentsByKey


siehe ausführliche und gute gute designer Hilfe (F1)  ;D
Titel: Re: Collections
Beitrag von: C_T am 05.02.07 - 15:58:07
das ist richtig!!!!

          Set collection = v2.GetAllDocumentsByKey(doc.SGruppe(0))

SGruppe ist ein Kontrollkästchen und wenn ich den Code umschreibe  in

          Set collection = v2.GetAllDocumentsByKey(doc.SGruppe)

Wird die Collection nciht gefüllt.

Titel: Re: Collections
Beitrag von: koehlerbv am 05.02.07 - 16:23:16
Nun, mit GetAllDocumentsByKey bekommt man keine Collection über ZWEI (oder mehr) Schlüssel.
Hierfür wäre (mit GetAllDocumentsByKey) zunächst eine primäre Collection zu bilden und dann via NotesDocumentCollection.AddDocument aus einer zweiten (ggf. n-mal zu bildenden) zu erweitern.

Bernhard
Titel: Re: Collections
Beitrag von: C_T am 06.02.07 - 07:41:12
also muss ich wirklcih per adddocument alles nochmal reinholen???

oder kennt zufälliger wer von euch ne bessere idee??
Titel: Re: Collections
Beitrag von: dirk_2909 am 06.02.07 - 08:06:24
Eine noch bessere Idee gibt es nicht?

set collA = View.getAllDOcumentsByKey( "~~~++++**~~" , true )
forall strK in doc.SGruppe
   set collB = view.getAllDOcumentsByKey( strK , true )
   set doc = collB.GetFIrstDocument
     While not doc is Nothing

          call collA.AddDocument( doc )

 ......

...
End forall

 :-:
Titel: Re: Collections
Beitrag von: flaite am 06.02.07 - 08:24:02
Eine noch bessere Idee gibt es nicht?
Grundsätzlich nicht. Es gibt in NotesDocumentCollection keine Methode
addAnotherCollection. Nur einzelne Dokumente.
call collA.AddDocument( doc )

Ich würds vermutlich in eine function auslagern. Ist flexibler.  Oder?
Function add(col as NotesDocumentCollection, newElement as Variant) as NotesDocumentCollection
 return coll.AddDocument( newElement )
end sub
Titel: Re: Collections
Beitrag von: dirk_2909 am 06.02.07 - 08:40:14
Zitat
Ich würds vermutlich in eine function auslagern. Ist flexibler.  Oder?

Kommt auf die Situation an  ;) ;D

Ich habe ja nur ein paar zeilen Code hingekleckst. Wie und wo diese Zeilen hinkommen ist ja zur Beantwortung der Frage nicht allzu relevant  8)
Titel: Re: Collections
Beitrag von: flaite am 06.02.07 - 09:14:53
Kommt auf die Situation an  ;) ;D
Ja auf jeden Fall Das Auslagern hat Vor- und Nachteile. Fiehl mir nur eben so ein.
Titel: Re: Collections
Beitrag von: C_T am 06.02.07 - 09:25:58
hi@all

Ich danke euch allen

ich habs halt so gemacht mit docs einzeln dazu und soweit läuft es...

Vielen Dank

CU
C_T

P.S.

Klasse Forum