Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Fragensteller am 31.10.11 - 17:25:23

Titel: Liste aus String
Beitrag von: Fragensteller am 31.10.11 - 17:25:23
Hi Leute,
ich versuche gerade eine Liste in Lotusscript zu erstellen die ich in der Maske dann als Auwahl einstellen kann.

Ziel ist eine Auswahl:

name1|unid1
name2|unid2
name3|unid3

Versuch 1:
Code
While Not TmpDoc Is Nothing
		'liste(x) = CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid)
		Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
		x=x+1
Wend

Versuch 2:
Code
While Not TmpDoc Is Nothing
		liste(CStr(TmpDoc.GetItemValue("bezeichnung")(0))) = CStr(TmpDoc.Universalid)
		Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
		x=x+1
Wend

Code
Versuch 3:
	While Not TmpDoc Is Nothing
		strListe = strListe & CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid) & Chr(10)
		Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
Wend

Versuch 4:
Code
	While Not TmpDoc Is Nothing
		strListe = strListe & CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid) & Chr(10)
		Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
Wend

Meine Variable strListe gebe ich als "liste" an die Maske

In der Maske habe ich das Feld auf  Listenfeld, Mehrfachwerte zugelasse, und die Auswahl -> Formel für Auswahl verwenden und liste dort eingetragen.


Was mache ich falsch? Einer eine Ahnnung?
Titel: Re: Liste aus String
Beitrag von: koehlerbv am 31.10.11 - 17:33:45
Du könntest uns - nur so spassenshalber - noch mitteilen, worin nun eigentlich Dein Problem besteht. Zum Feierabend wird niemand mehr die Kristallkugel wieder auspacken.

Bernhard
Titel: Re: Liste aus String
Beitrag von: Peter Klett am 31.10.11 - 17:40:11
Du musst Dir ein Array zusammenbauen (Versuch 1 ist vom Grundsatz nicht ganz schlecht) und das in ein Feld des Dokumentes schreiben. Dieses Feld trägst Du dann als Formel für die Auswahl ein.

Du kannst nicht eine Scriptvariable in die Auswahlformel eintragen, ist schließlich eine FORMEL.
Titel: Re: Liste aus String
Beitrag von: Fragensteller am 31.10.11 - 17:44:26
Du könntest uns - nur so spassenshalber - noch mitteilen, worin nun eigentlich Dein Problem besteht. Zum Feierabend wird niemand mehr die Kristallkugel wieder auspacken.

Bernhard

Das Problem besteht darin da die Liste leer bleibt in der maske
Titel: Re: Liste aus String
Beitrag von: Fragensteller am 31.10.11 - 17:58:36
Du musst Dir ein Array zusammenbauen (Versuch 1 ist vom Grundsatz nicht ganz schlecht) und das in ein Feld des Dokumentes schreiben. Dieses Feld trägst Du dann als Formel für die Auswahl ein.

Du kannst nicht eine Scriptvariable in die Auswahlformel eintragen, ist schließlich eine FORMEL.

das habe ich ja gemacht...

Call dlgdoc.Replaceitemvalue("liste",strListe)
Titel: Re: Liste aus String
Beitrag von: Peter Klett am 31.10.11 - 17:59:43
Vor oder nach dem Öffnen der Dialogbox?
Titel: Re: Liste aus String
Beitrag von: marschul am 01.11.11 - 06:59:57
Ist "Liste" auch Dein Auswahlfeld? Das wird nicht funktionieren - Du brauchst 2 Felder: eines, dem Du Deine Liste übergibst und das zweite als Auswahlfeld mit Auswahlformel = das erste Feld.
Oder ist Dein Array liste() leer? Kann das aus den Postings leider nicht eindeutig herauslesen. Was sagt hier der Debugger?
Titel: Re: Liste aus String
Beitrag von: umi am 03.11.11 - 15:00:23
Du musst Dir ein Array zusammenbauen (Versuch 1 ist vom Grundsatz nicht ganz schlecht) und das in ein Feld des Dokumentes schreiben. Dieses Feld trägst Du dann als Formel für die Auswahl ein.

Du kannst nicht eine Scriptvariable in die Auswahlformel eintragen, ist schließlich eine FORMEL.

das habe ich ja gemacht...

Call dlgdoc.Replaceitemvalue("liste",strListe)

Damit schreibst Du aber die Liste in das Feld. Müsstes aber ein Array reinschreiben bzw.

Ungefähr sowas.... basierend auf Versuch 2...
Code
set liste = new notesitem(dlgdoc,"liste")
forall t in strliste
call liste.appenditemvalue(t & "|" & listtag(t))

end forall