Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: stf am 20.11.09 - 10:18:05

Titel: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: stf am 20.11.09 - 10:18:05
Hallo miteinander,

auch auf die Gefahr hin, mich als totalen Script DAU zu outen, möchte ich Euch um Hilfe bitten.

Ich habe eine Optionsschaltfläche (radio button) die ich zur Laufzeit (Postopen Event) mit verschiedenen Auswahlwerten füllen möchte.

Die Werte kommen liegen als Array (arr) vor und können von der Anzahl her unterschiedlich sein (meist zwischen 2 und 3)

ich habe versucht
   Call source.FieldSetText("UrlVertreter", arr)
oder auch
   Set doc2 = source.Document
   Set item = New NotesItem(doc2,"UrlVertreter","test")
   item.Values =arr

sämtliche Versuche via Online Hilfe und/oder Forensuche eine Hilfe zu bekommen scheiterte kläglich.... :'(

Danke
Stefan
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: ascabg am 20.11.09 - 10:29:59
Hallo,

Schreib die Werte doch in ein zweites Feld und das Feld fuer die Optionsschaltflaeche liest die Werte aus diesem Feld.


Andreas
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: stf am 20.11.09 - 11:40:52
Hallo Andreas,

danke für die schnelle Antwort.

Verstehe ich dich richtig?
1. Optionsschaltfläche = optFeld, Hilfsfeld = txtFeld1
2. txtFeld1 füllen z.B. mit "Test1" & Chr(13) & "test2" & Chr(13) & " test3"
3. das "optFeld" auf "berechnet" setzen mit Feldinhalt auf "txtFeld1"

leider tut sich nach einem uidoc.refresh gar nichts in der Maske.
Das optFeld hat zwar den Wert (Value(0)) test1 test2 test3

aber die Maskenanzeige bleibt unverändert



Irgendwo hab ich hier einen massiven Denkfehler...
wenn ich z.B. ein Array mit
   arr(0) = "test1"
   arr(1) = "test2"
   arr(2) = "test3"
übergebe, hat das Feld, lt. Debugger, zwar 3 Values es tut sich aber in der Maske gar nichts....

Stefan

Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: Kadlec am 20.11.09 - 12:07:55
Bei den Radio Buttons und den Checkboxen gibt es bei den Feldeigenschaften 2ter Reiter bei den Optionen die Punkte, Felder bei Schlüsselwort.... und Auswahl bei Dokumentaktualisierung...

Damit schon probiert?
Boris
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: Axel am 20.11.09 - 12:28:37
wenn ich z.B. ein Array mit
   arr(0) = "test1"
   arr(1) = "test2"
   arr(2) = "test3"
übergebe, hat das Feld, lt. Debugger, zwar 3 Values es tut sich aber in der Maske gar nichts....

Das ist die richtige Art das Feld zu füllen, au0ßerdem müssen in den Fedleigenschaften Mehrfachwerte zugelassen sein.

Ganz wichtig ist dann auch noch die Option "Auswahl bei Dokumentenaktualisierung aktualisieren" in den Eigenschaften des Optionsfeldes. Boris hat das ja schon geschrieben.

Damit sollte es funktionieren.
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: stf am 20.11.09 - 13:14:27
Hallo Axel, Hallo Boris,

danke für Eure Tipps.

ich habe zwar die Optionen "Auswahl bei Dokumentenakutalisierung aktualisieren" und "Auswahl bei ...." eingeschaltet, aber leider tut sich gar nichts.
Die Feldeigenschaft "Mehrfachwerte zulassen" kann ich beim Radio Button nicht einschalten (ist ausgegraut).

nicht dass ihr meint, ich komme jetzt so nach und nach mit meinen Infos rüber...
ich möchte es nur noch mal verdeutlichen wie ich das Feld ansteuere.

   Dim arr(2) As String
   Dim item As NotesItem
   arr(0) = "test1"
   arr(1) = "test2"
   arr(2) = "test3"

   Set doc2 = source.Document
   Set item = New NotesItem(doc2,"UrlVertreter","test")
   item.Values =arr

kann mich erst Montag damit wieder beschäftigen - hoffe trotzdem, dass noch der eine oder andere Tipp auftaucht.
Danke und ein schönes Wochenende
Stefan
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: koehlerbv am 20.11.09 - 13:18:53
Ich befürchte, dass das Item "UrlVertreter" bereits durch die Maske erzeugt wurde. Das New NotesItem erzeugt damit ein zweites Item gleichen Namens, und das bekommst Du nicht gegriffen.

Daher:
Code
Dim arr(2) As String
   Dim item As NotesItem
   arr(0) = "test1"
   arr(1) = "test2"
   arr(2) = "test3"

Source.Document.UrlVertreter = arr

HTH,
Bernhard
Titel: Re: Optionsschaltfläche zur Laufzeit füllen
Beitrag von: stf am 23.11.09 - 15:26:45
Hallo Bernhard,

das wars...
die Set Anweisung hat mir ein zweites Item erzeugt.

Danke für den Tipp.

Gruß
Stefan