Domino 9 und frühere Versionen > ND9: Entwicklung
Checkbox im Frontend mit Script setzen
theBastian:
Hallo allerseits,
Ich habe zwei Checkboxen.
Erste Checkbox hat einen Wert: Aktivieren
Zweite Checkbox hat 4 Werte: 0,25 / 0,5 / 0,75 / 1,0
Keine Alias verwendet
Sobald in der ersten Checkbox der Haken "Aktivieren" gesetzt wird, soll in der zweiten Checkbox der Haken bei "1,0" gesetzt werden und all anderen Werte gelöscht werden.
Dazu nutze ich das OnChange-Event der ersten Box.
--- Code: ---Call uidoc.fieldsettext("Checkbox2","1,0")
Call uidoc.Refresh
--- Ende Code ---
Leider bleibt die Checkbox 2 leer bzw. falls vorher Werte gesetzt waren werden die gelöscht aber der Wert "1,0" nicht gesetzt.
Getestet habe ich das mit zwei Checkboxen mit Einfachwerten, da klappt das. Aber warum nicht bei Mehrfachwerten?
Sebastian
Tode:
FieldSetText ist nicht für Checkboxen geeignet. An dieser Stelle musst Du mit der Backendmethode arbeiten:
--- Code: ---Call uidoc.Document.Replaceitemvalue( "Checkbox2","1,0" )
'- Evtl: Call uidoc.Reload()
Call uidoc.Refresh
--- Ende Code ---
theBastian:
--- Zitat von: Tode am 15.11.18 - 10:43:41 ---
--- Code: ---Call uidoc.Document.Replaceitemvalue( "Checkbox2","1,0" )
'- Evtl: Call uidoc.Reload()
Call uidoc.Refresh
--- Ende Code ---
--- Ende Zitat ---
Im Backend geht das leider so auch nicht. Weder mit Reload noch ohne.
Ich sehe im Debugger schön, wie die Checkbox2(0) den Wert "1,0" bekommt aber mit uidoc.Refresh wird Checkbox wieder geleert.
ascabg:
Hallo,
Ich bin nun nicht der Spezialist in der Programmierung.
Aber.
Die 2. Checkbox beinhaltet doch wohl, so verstehe ich es, die 4 Werte (0,25 - 0,5 - 0,75 und 1,0)
Sollte also die Eigenschaft "Mehrfachwerte" besitzen. Und diese Mehrfachwerte werden doch durch ein Komma betrennt.
(konnte man hier bei diesem Feldtyp nicht ändern)
Eventuell liegt das Problem ja darin beründet.
Andreas
theBastian:
Danke Andreas ein Wink in die richtige Richtung. Obwohl im Debugger nur ein Wert angezeigt wird, muss man wohl eine Liste in die Checkbox schreiben.
Also so ...
--- Code: ---Dim liste(0 To 3) As String
liste(0) = ""
liste(1) = ""
liste(2) = ""
liste(3) = "1,0"
Call uidoc.Document.Replaceitemvalue( "Checkbox2", liste)
Call uidoc.Refresh
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln