ich möchte in einen Adobe-Formular (Transaktion SFP) eine Tabellenzelle einfärben, wenn in einer bestimmten anderen Zelle ein gewisser Wert steht. Normalerweise geht das mit Extras -> Aktionsgenerator. Steht pro Zeile in Zelle B ein X, so soll die Zelle A gelb eingefärbt werden. Geht aber nicht. Nanu? Überschreibt hier die standardmäßige Tabellen-Formatierung meine bedingte Formatierung? Der Wert X kommt an über die Schnittstelle und steht auch drin in der Spalte "Keime". Das Feld "Patient" wird dennoch nicht gelb eingefärbt. Die Bedingung "Feld Keime ist nicht leer" klappt übrigens auch nicht.
funktioniert es inzwischen? Ich hatte mit ein paar Testformularen rumprobiert und nachdem es die ganze Zeit nur ging wenn es entweder eine extra Interaktion vom User gab (also das Feld manuell füllen zB) und/oder ich einen extra Button einbaute und eine Zusatzbedingung stellte (wenn Button gedrückt wird und Feld initialisiert ist), geht es jetzt plötzlich auch nur mit "ist initialisiert". Aber nicht bei jedem Feld.
Ich habe absolut keine Erklärung dafür :D
VG,
Nion
Man muss nicht alles wissen. Man muss nur wissen, wo es steht oder wen man fragen kann.
nö, es funktioniert noch nicht. Wir nutzen Adobe Forms auch nicht interaktiv, sondern rein lesend ohne jedwede Interaktion. Vielleicht liegt es ja daran. Dennoch schade, dass man so eine bedingte Formatierung scheinbar nicht hinbekommt im Lesemodus.
Hi, warum machst du es nicht mittels Coding?
Also einfach in Spalte B gehen und sagen, wenn in Spalte A der Wert x steht, dann einfärben.
Ich hab dir unten ein Beispiel angehängt.
Viel Erfolg,
Sebastian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
vielen Dank. Weil ich mich mit Adobe-Skripten und JavaScript leider nicht auskenne. Ich weiß nicht mal richtig, wie ich den Skript-Editor für diese Spalte im Modus Initialize und FormCalc einblenden und editieren kann. Geht vermutlich nur über den Aktionsgenerator. Ich erhalte zurzeit stets JavaScript. Hier stehen auch bereits die generierten Events drin mit diversen ForEach-Schleifen etc. Ich müsste also wissen, wie ich an die Stelle gelange, wo ich mittels FormCalc Spalte B auf Inhalt prüfen und Spalte A je nach Inhalt von B einfärben könnte ...
Hey, ich hab dir mal ein paar Screenshots zur Hilfe gemacht.
1. Den Script Editor rufst du auf via: Palettes->Script Editor
2. Oben links kannst du aussuchen, wann das Coding ausgeführt wird. Wenn du kein Interaktives Form hast, würde ich hier "initial" wählen.
3. Oben rechts kannst du die Sprache auswählen. Grundsätzlich müsste es in beiden Sprachen klappen. Ich bevorzuge halt nur FormCalc.
Viel Erfolg,
Sebastian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor Sebastian82 für den Beitrag (Insgesamt 2): sapdepp • Nion
Ist es eigentlich möglich, auch für Felder einer ITAB, die zwar über die Schnittstelle ins Formular kommen, jedoch nicht eingeblendet werden, Bedingungen zu bauen? Wenn also Spalte B einen Wert 'X' hat, aber nicht eingeblendet ist, Spalte A einzufärben, wenn B = 'X' ist? Oder muss die Datenbindung immer zwingend sichtbar eingeblendet sein und man versteckt die Spalte irgendwie?
Edit: Zurzeit löse ich es, indem ich die Spalte einblende am Ende, alle Rahmen und Farben weglasse, alles auf unsichtbar stelle und die Spaltenbreite auf 0,0001 cm stelle. Stelle ich nur auf unsichtbar, lasse die Spalte aber etwas breiter, werden Schattierungen und Rahmen dennoch angezeigt. Gibt's eine komfortablere Lösung?
Hi sapdepp,
also bei normalen Feldern ist es so, dass diese auf dem Formular und gefüllt sein müssen. Bei denen kannst du dann "Hidden" oder auf deutsch heißt es wahrscheinlich "versteckt" wählen.
Die Option hast du bei einer Tabelle aber nicht. Ich würde dann auch die breite auf 0,0001 setzen und die Spalte auf unsichtbar setzen.
Viele Grüße,
Sebastian
Folgende Benutzer bedankten sich beim Autor Sebastian82 für den Beitrag: sapdepp
Noch eine Frage: In einer Tabelle möchte ich eine Zeile so lange farbig markieren mit Farbe Grau, bis sich der Wert ändert. Ändert sich der Wert, möchte ich Farbe Blau. Ändert sich dieser Wert erneut, dann wieder Farbe Grau, ändert sich dieser, wieder Farbe Blau usw. Klärt man das auch per FormCalc oder JavaScript, wenn ja, wie? Oder arbeitet man das besser in einem Loop über die betroffene Tabelle ab in der Coding-Initialisierung oder im Druckprogramm und füttert die Tabelle, ggf. durch Vergewaltigung oder Appendieren einer neuen Hilfsspalte, wo man je nach Wert z. B. eine 1 oder 2 oder X oder Y oder den RGB-Wert der Farbe reinschreibt und diese Spalte dann in FormCalc auswertet und die Farbe entsprechend abwechselnd setzt im Formular?