Domino 9 und frühere Versionen > Entwicklung
Kontrollkästchen in Masken auswerten
baumi78:
Hab jetzt schon einiges probiert, aber komme nicht so richtig zu dem was ich eigentlich haben möchte. Also noch mal kurz zusammengefasst. Ich habe zwei Kontrollkästchen, die jeweils zwei Optionen enthalten. Das erste Feld des zweiten Kontrollkästchens ist dabei abhängig vom ersten Feld des ersten Kontrollkästchens ... Ich möchte das erste Feld des zweiten Kontrollkästchens nur dann als bearbeitbar anbieten (oder einblenden), wenn das erste ausgewählt ist und zwar sofort beim anklicken der ersten Checkbox. Wie kann ich das nun irgendwie realisieren?
cpo:
Kannst Du nicht einfach die Werteliste deines zweiten Kontrollkästchens über eine formel berechnen, die auf das erste Bezug nimmt?
Also Werteliste des ersten ist "blau":"schwarz"
Werteliste des zweiten ist @If(@IsMember("blau";erstesKontrollkästchen);"hellblau":"tiefschwarz";"tiefschwarz")
Dann sollte eigentlich in dem zweiten nur hellblau auswählbar sein, wenn im ersten blau ausgewählt wurde...
CPO
Axel:
@cpo
--- Zitat ---Also Werteliste des ersten ist "blau":"schwarz"
Werteliste des zweiten ist @If(@IsMember("blau";erstesKontrollkästchen);"hellblau":"tiefschwarz";"tiefschwarz")
Dann sollte eigentlich in dem zweiten nur hellblau auswählbar sein, wenn im ersten blau ausgewählt wurde...
--- Ende Zitat ---
So ganz stimmt das aber nicht. Wenn im ersten Kontrollkästchen blau ausgewählt ist, ist nach deiner Formel hellblau und tiefschwarz auswählbar.
Ausserdem fehlt der Hinweis, das in den Feldeigenschaften des ersten Kontrollkästchens die Option "Felder bei Schlüsselwortänderung aktualisieren" und beim zweiten Kontrollkästchen die Option "Auswahl bei Dokumentaktualisierung aktualisieren" gesetzt sein müssen.
Axel
baumi78:
Ja diese Idee ist nicht schlecht und auch schon ziemlich nah an der Lösung (danke!), es gibt aber noch kleinere Probleme:
Hier erstmal der Code meiner Auswahl:
FIELD fld_autosend:=fld_autosend;
@If(
@IsMember("1"; fld_versandart) & @IsMember("2"; fld_versandart);
@SetField("fld_autosend";"E-Mail automatisch versenden|1":"SMS automatisch versenden|2");
@IsMember("1"; fld_versandart);
@SetField("fld_autosend";"E-Mail automatisch versenden|1");
@IsMember("2"; fld_versandart);
@SetField("fld_autosend";"SMS automatisch versenden|2");
@SetField("fld_autosend";"10")
)
Problem 1: ich muss den Feldwert auf einen Standardwert setzen, weil dieser im späteren Programmablauf verwendet wird, dann wird allerdings auf der rechten Seite (im zweiten Kontrollkästchen ein Feld angezeigt, wenn ich links alles deselektiere, das würde ich gerne verhindern)
Problem 2: je nach Abhängigkeit von der im ersten Kontrollkästechen getrofffenen Auswahl verschieben sich natürlich die Auswahlmöglichkeiten des zweiten Kontrollkästchens im Layout, was blöd ist, weil die Optionen ja direkt mit denen im ersten Kontrollkästchen zusammenhängen, hat da vielleicht noch jemand ne Idee, wie man das verhindern kann?
Axel:
--- Zitat ---Problem 1: ich muss den Feldwert auf einen Standardwert setzen, weil dieser im späteren Programmablauf verwendet wird, dann wird allerdings auf der rechten Seite (im zweiten Kontrollkästchen ein Feld angezeigt, wenn ich links alles deselektiere, das würde ich gerne verhindern)
--- Ende Zitat ---
??? ??? ??? Ist mir nicht so ganz klar was du meinst? Kannst du das mal ein bisschen näher erklären, dass mit rechts und links und so.
--- Zitat ---Problem 2: je nach Abhängigkeit von der im ersten Kontrollkästechen getrofffenen Auswahl verschieben sich natürlich die Auswahlmöglichkeiten des zweiten Kontrollkästchens im Layout, was blöd ist, weil die Optionen ja direkt mit denen im ersten Kontrollkästchen zusammenhängen, hat da vielleicht noch jemand ne Idee, wie man das verhindern kann?
--- Ende Zitat ---
Pack die beiden Kontrollkästchen in eine Tabelle und dimensioniere sie entsprechend, also lass so viel Platz wie die größtmögliche Auswahl braucht.
Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln