Domino 9 und frühere Versionen > ND8: Entwicklung
Feldauswahl speichern
magic_halli:
Hallo,
ich habe ein Kombinationsfeld, welches im QueryOpen des Dokuments mit Werten gefüllt wird.
Der User kann dann das Dokument mittels Button "Speichern und Schließen" (ist eine gespeicherte Aktion) wieder schließen.
Ich möchte aber gern vorher, dass wenn der User im Kombinationsfeld eine Auswahl trifft, diese Auswahl in ein extra Feld im Dokument gespeichert wird.
1. Wie komme ich per LotusScript an die getroffene Auswahl des Kombinationsfeldes ran, um diese dann überhaupt zu speichern?
2. Wo implementiere ich das Speichern der Userauswahl (QuerySave etc.)?
Danke und Gruß
Thomas Schulte:
Im QuerySave oder PostSave. Ist eigentlich egal, weil bis zum nächsten Aufruf deines Documentes bleiben die Werte ja erhalten.
Und dann geht das ganz einfach mit Copyitem.
Axel:
Das Ganze gehört eigentlich zu den Grundlagen der Notes-Entwicklung. Ein Blick in die Designer-Hilfe würde sich mit Sicherheit lohnen.
zu 1. Entweder mit Frontend-Funktionen, wie z.B. GetFieldText (Klasse NotesUIDocument). Das geht aber nur wenn das Feld keine Mehrfachauswahl zulässt. Oder mit Backendfunktionen aus der Klasse NotesDocument. So z.B.
doc.NamedesFeld = doc.NamedesKombinationsfeld
zu 2. Am besten im QuerySave-Event
Axel
magic_halli:
So richtig klappt´s leider nicht. Ich habe folgendes gemacht...
Im QuerySave meiner Maske:
--- Code: ---Dim item_allFolders As NotesItem
Dim item_userChoiseFoldernames As NotesItem
...
Set item_allFolders = doc.GetFirstItem("AllFolders")
Set item_userChoiseFoldernames = doc.ReplaceItemValue("UserChoiseFoldernames", item_allFolders.Text)
--- Ende Code ---
Hier wollte ich erreichen, dass die Auswahl aus 'item_allFolders' in 'item_userChoiseFoldernames' gespeichert wird. Sämtliche Eingaben der Maske werden in ein Profildokument gespeichert. Die Speicherung erfolgt per Button in der Maske:
--- Code: ---@Command([FileSave]);
@Command([FileCloseWindow])
--- Ende Code ---
Im QueryOpen frage ich dann lediglich den Inhalt von 'item_userChoiseFoldernames' wieder ab und lasse ihn per Messagbox anzeigen. Dort wird aber kein Inhalt angezeigt!
--- Code: ---...
Set item_userChoiseFoldernames = doc.GetFirstItem("UserChoiseFoldernames")
Messagebox "start: "+item_userChoiseFoldernames.Text,,"Startausgabe"
--- Ende Code ---
Was ist falsch?
DAU-in:
warum überträgst du nicht einfach den Wert von item 1 auf item 2?
doc.userChoiceFoldernames = doc.AllFolders
ähhhh das ist die Maske für ein Profildokument?
die Werte von Profildokumenten werden gecached, da kannst du in der Regel nur verzögert zugreifen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln