Domino 9 und frühere Versionen > ND6: Entwicklung

DokumentCollection an Picklist übergeben

<< < (2/4) > >>

brathaenchen:
das ist doch wiedermal sch....

Thomas Schulte:
Was du meinst ist ob du eine DocID rauskriegst wenn du einem Prompt mehrere User mitgibst.
So wie du das aufziehen willst geht nur die Lösung von Klaus.

Du könntest aber zusätzlich eine UserList als List anlegen, die Werte der Benutzer eintragen und die docunid des Dokumentes aus dem der user ist mit halten. Dann kannst du über den User als Key und Rückgabewert wieder auf die UNid zugreifen, ohne die mit anzeigen zu müssen.

Damit brauchst du das dann auch nicht in Form einer Dialogbox nachbauen. Voraussetzung ist aber  du kriegst einen eindeutigen Schlüssel über den Benutzernamen hin.

Und .....
zwischen einer Picklist und einem Prompt gibt es ein paar kleine aber feine unterschiede  ;D

koehlerbv:
Man könnte auch zwei Arrays aufbauen: Eines mit den Namen, im anderen die zugehörigen DocIDs. Der Wege gäbe es noch mehr.
Wenn das Brathähnchen sagt, was es eigentlich vorhat ...

Bernhard

Axel:
Ich würde das nicht unbedingt mit zwei Arrays machen, sondern mit einem benutzerdefinierten Datentyp.

Ganz grob so in etwa:

Type UserType
 Name As String
 ID As String
End Type

Redim arrUser(0) As Usertype

Dem Usernamen wird das eine fortlaufende Zahl vorangestellt und dann im Prompt angezeigt.

z.b: so

1. UserA
2. UserB

Mit der Zahl kann man dann auf den Index innerhalb des Array schließen und erhält so die passende ID.


Axel

Thomas Schulte:
Und weil das warscheinlich außer Axel und Bernhard und den anderen Cracks jetzt keiner verstanden hat hier ein Beispiel:

--- Code: ---Dim userlist list as string

Redim user(0) As Variant     
Count = 0
while Not (userdoc is Nothing)
count = count +1
Redim Preserve user(count)
user(count) = userdoc.keyvalue(0)
userlist(userdoc.keyvalue(0))=userdoc.UniversalID
set userdoc = dc.getnextdocument(userdoc)
wend

response = ws.Prompt (PROMPT_OKCANCELLIST, _
"Empfänger", _
"Bitte wählen Sie einen Empfänger aus", _
user(0), user)

UNidValue = Userlist(Response)

--- Ende Code ---

Hope That helps

@Axel Die Lösung hat den Vorteil, das du nicht mit der Anzeige der Daten rummanipulieren musst. Der Nachteil ist natürlich wenn der Schlüssel mehrfach vorkommt, dann geht das so in die Hose, weil dann der letzte gefundene Wert zieht.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln