HCL Notes / Domino / Diverses > Entwicklung
Wie per Lotusscript neue Einträge in einem Listenfeld erstellen?
schroederk:
Hallo,
ich muss mich mal wieder als Anfänger outen: :-[
Ich möchte gerne per Lostusscript einem Listenfeld innerhalb einer Maske weitere Einträge hinzufügen.
Meine Versuche:
--- Code: ---Set uidoc = ws.CurrentDocument
Set currdoc = uidoc.Document
Set item = currdoc.GetFirstItem ( "Namen" )
' Versuch 1
Call item.AppendToTextList ( "abc" )
' Versuch 2
Dim nameList(2) As String
nameList(1) = "abc123"
nameList(2) = "xyz789"
currdoc.Namen = nameList
Call uidoc.Refresh
--- Ende Code ---
Alle Versuche haben quasi dasselbe Ergebnis, es wird nur eine Zeile erstellt, mit beiden Einträgen in einer Zeile.
Wo mache ich denn (mal wieder) den Fehler?
pantelis.botsas:
Hallo schroederk,
prüfe bitte, ob das Feld selbst Mehrfachwerte annehmen darf ...
und welches Zeichen bei der Eingabe dazu führen soll, dass Mehrfachwerte auch eingegeben werden können.
Abschließend kannst Du noch festlegen, wie Mehrfachwerte im Feld selbst angezeigt werden sollen.
schroederk:
Hallo,
die Eigenschaft "Mehrfachwerte zulassen" ist doch dafür, dass der Anwender mehrere Einträge selektieren kann und nicht nur einen, oder?
Die Felder bei "Optionen für Mehrfachwerte" sind bei mir ausgegraut.
In der Eigenschaft "Auswahl" habe ich "Formel verwenden" ausgewählt und die folgende Formel eingetragen:
--- Code: ---@If(KNamen = ""; "Keine Namen gefunden"; @GetField("KNamen"))
--- Ende Code ---
In KNamen steht als Vorgabe:
--- Code: ---"Name1" : "Name2" : "Name3"
--- Ende Code ---
In der Liste werden damit beim Aufruf der Maske korrekt 3 Einträge angezeigt. Per Lotusscript soll jetzt einfach ein weiter Eintrag angehängt werden (der Wert wird dann später aus einer anderen Maske kommen).
Durch AppendToTextList wird dann aber aus den 3 Einträgen nur noch einziger, der alle 4 Einträge enthält.
Tode:
Du kannst den Inhalt der Liste nicht mittels LotusScript manipulieren. Hierfür brauchst Du immer 2 Felder.
1. Feld "KNamen_Liste" mit einer Formel für die Vorgabewerte.
2. Feld "Knamen". Auswahl: Formel verwenden, Formel: KNamen_Liste, Option "Auswahl bei Dokumentaktualisierung aktualisieren" aktiviert.
Jetzt kannst Du per LotusScript das Feld "KNamen_Liste" manipulieren (genauso wie Du es in Deinem Beispielcode gemacht hast), und sobald Du Refreshst wird der neue Inhalt des Feldes KNamen_Liste als Auswahl in KNamen auftauchen.
eknori (retired):
Sicher?
Ds wusste ich nicht. Wahrscheinlich hat es deshalb bei mir funktioniert.
https://help.hcltechsw.com/dom_designer/11.0.1/basic/H_APPENDTOTEXTLIST_METHOD.html
Zeigt in den Beispielen, wie es geht. Und die unterscheiden sich nicht von den bereits unternommenen Versuchen.
Knackpunkt ist hier, dass das Item keine TextList ist, weil es nicht die Option „allow multiple values“ besitzt. Steht auch so in der Hilfe, „for an item that‘s a text list … „
Deshalb sind auch die anderen Optionen ausgegraut.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln