Seite 1 von 2

Fettdruck dynamisch setzen

Verfasst: 22.05.2013, 11:05
von Captain_Chaos
Ich habe folgendes (hoffentlich einfaches) Problem:

Beim Andruck einer Tabelle möchte ich, wenn eines der Tabellenfelder einen bestimmten Wert hat, alle Felder dieser Datenzeile fett angezeigt bekommen. Geht so etwas?

Gruß
Captain_Chaos

Fettdruck dynamisch setzen

Verfasst: 22.05.2013, 16:05
von armine
Es geht. Dazu mußt du nur allen betroffenen Feldern ein "[font=courier new]DiesesFeld.font.weight = "bold";[/font]" mitgeben.
Zurück geht’s mit "[font=courier new]DiesesFeld.font.weight = "normal";[/font]"

vg armine


Fettdruck dynamisch setzen

Verfasst: 30.05.2013, 12:41
von Captain_Chaos
Hallo,

danke ... funktioniert (fast) ... aber: in der Spalte, in der die relevante Information steht, kann ich nun den Fettdruck anwenden. Wie bekomme ich es aber hin, dass die Erkenntnis, dass die Zeile relevant ist, auch auf nachfolgenden Felder der Zeile überträgt?

Fettdruck dynamisch setzen

Verfasst: 30.05.2013, 13:19
von armine
Dazu mußt du nur allen betroffenen Feldern ein "[font=courier new]DiesesFeld.font.weight = "bold";[/font]" mitgeben.
Am Einfachsten erledigst du das mit einer Schleife. Schau mal in der Hilfe nach "resolveNode".

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 10:05
von Captain_Chaos
Hallo,

ich habe das jetzt entsprechend umgesetzt ... und es funktioniert auch teilweise:

Code: Alles auswählen

if ( $.rawValue == "/559" ) then
this.font.weight = "bold"
this.resolveNode("Überweisung.Betrag").font.weight = "bold"
this.resolveNode("Überweisung.Währung").font.weight = "bold"
else
this.font.weight = "normal"
this.resolveNode("Überweisung.Betrag").font.weight = "normal" 
this.resolveNode("Überweisung.Währung").font.weight = "normal"
endif 
 
Das aktuelle Feld wird geändert genauso wie auch des Feld 'Betrag'. Die 'Währung' allerdings wird nicht geändert. Wobei 'nicht geändert' auch nicht richtig ist, da das Feld grundsätzlich mit Fettdruck definiert ist, d.h. das Script setzt das Feld Währung auf 'normal'.

Ich bin ratlos ...

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 10:39
von armine
Lieber Captain_Chaos,

überlege mal, ob die 'Währung' nicht auch 'normal' definiert werden kann oder ein 'if' das Problem löst.
Wenn bereits 'fett", lass 'Währung' in Ruhe, sonst ...

Du könntest natürlich dein Formular – oder nur die Tabelle – mit einer genauen Angabe der Anforderung auch hochladen. Dann wäre mit dem Raten schnell Schluss.

vg armine

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 11:13
von Captain_Chaos
Tja ... das geht wohl nicht .. das Formular ist im SAP-System abgelegt. Lade ich es herunter (XML-File) und öffne es dann mit dem Designer, kommt es zum Fehler ... also der Weg ist versperrt.

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 11:33
von armine
Geht nicht? Siehe http://www.acronaut.de/forum47/2364.html 1. Beitrag von anform.

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 12:20
von Captain_Chaos
Ja ... so geht's

Anbei das abgespeckte Formular mit der fraglichen Tabelle.

Fettdruck dynamisch setzen

Verfasst: 04.06.2013, 13:48
von armine
So richtig hilfreich ist die Datei mangels Daten nicht. Das kannst du schon beim Öffnen mit Acrobat oder Reader feststellen. Wie du siehst, siehst du nichts.

Aus der Struktur schließe ich, dass nichts dagegen steht, in "Währung" den Schriftschnitt auf "normal" zu setzen.
Sollte diese Annahme falsch sein, dann kannst du dir mit
[font=courier new]if (this.resolveNode("Überweisung.Währung").font.weight == "normal") then
[/font][font=courier new][font=courier new]    [/font]this.resolveNode("Überweisung.Währung").font.weight = "bold"
endif[/font]
behelfen.

Da alle Felder im gleichen Teilformular stecken muss das auch gehen:
[font=courier new]data.Lohnart::initialize - (FormCalc, server)

if ($ == "/559" ) then
    Lohnartentext.font.weight = "bold" 
    Betrag.font.weight = "bold"
    Währung.font.weight = "bold" // default == "normal"
else
    Lohnartentext.font.weight = "normal"   
    Betrag.font.weight = "normal" 
    Währung.font.weight = "normal"
endif [/font]

Bei der Bankleitzahl verwendest du ein Textfeld. Wenn du ein Num. Feld verwenden würdest, wären die entsprechenden Fehlermeldungen weg.

Steht "Speichern" absichtlich auf "Manuell"?