Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: cebolina am 26.10.16 - 10:37:08

Titel: Dialogbox: Auswahl einschränken
Beitrag von: cebolina am 26.10.16 - 10:37:08
Hallo,

ich habe in einer Maske ein Feld "Vorgabewerte" (Berechnet beim Anlegen, Mehrfachwert zulassen) mit diesen Werten:
"n/a | 0" : "WertA | 1" : "WertB | 2" : "WertC | 3" : "WertD |4"
Das Feld "Auswahl" (Dialogliste, Mehrfachwert zulassen) hat den Vorgabewert "0". Die "Formel für Auswahl verwenden" bezieht sich auf das Feld "Vorgabewerte".
Soweit, so gut.

Frage:
Wie kann ich verhindern, dass ein User auch den Wert "n/a | 0" auswählen kann?
Der User soll nur "WertA" usw. angezeigt bekommen. "n/a" soll im Dialog nicht angezeigt werden.
Geht das? Wie?

Danke für die Tipps

Gruß Stefan
Titel: Re: Dialogbox: Auswahl einschränken
Beitrag von: Tode am 26.10.16 - 11:35:15
Dann brauchst Du zwei Felder: Eines, das der Benutzer bearbeitet, das nur die Werte WertA, WertB, WertC und WertD hat, und keinen Vorgabewert. Und dann das "tatsächliche" Feld, das die gesamte Auswahlliste hat und berechnet ist, nur angezeigt z.B. im Lesemodus mit der Formel @If( EditFeld = ""; "0" ; EditFeld )
Titel: Re: Dialogbox: Auswahl einschränken
Beitrag von: Peter Klett am 26.10.16 - 11:42:42
Oder alternativ im Feld ankreuzen, dass die Schaltfläche zur Auswahl nicht angezeigt werden soll und eine eigene Schaltfläche bauen, die die eingeschränkte Auswahl bietet.

EDIT: Das Feld darf dann aber nicht bearbeitbar sein, sonst kann man n/a eintippen
Titel: Re: Dialogbox: Auswahl einschränken
Beitrag von: RunRevilo am 26.10.16 - 11:53:40
Wenn du im Feld "Auswahl" keinen Vorgabewert verwendest und als Formel für die Auswahl im Feld

Code
@subset(Vorgabewerte;-4) 

nimmst, dann werden nur die von dir gewünschten Werte zur Auswahl angezeigt. Wenn du die von dir genannten Werte im Feld "Vorgabewerte" belegt hast.
Wenn du nämlich einen Vorgabewert im Feld "Auswahl" hast, wird dieser bei der Auswahl auch mit angezeigt.
Den Vorgabewert kannst du ja per Skript im Querysave einfügen, indem du prüfst ob das Feld Auswahl leer ist. Wenn leer, dann speicherst du den Vorgabewert ab.

Oliver
Titel: Re: Dialogbox: Auswahl einschränken
Beitrag von: Peter Klett am 26.10.16 - 12:45:14
Die Idee von Oliver ist nicht schlecht, allerdings wird dabei der Alias 0 nicht in n/a übersetzt, denn den kennt das Auswahlfeld ja nicht
Titel: Re: Dialogbox: Auswahl einschränken
Beitrag von: cebolina am 26.10.16 - 14:23:45
Danke für die Tipps.
Ich habe die Anforderung über einen eigenen Button mittels workspace.Prompt(PROMPT_OKCANCELLISTMULT, ...) umgesetzt.
Funktioniert so wie ich es will.

Gruß Stefan