Berechnung Summe in Abhängigkeit von Kontrollkästchen

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
Abtaucher
Beiträge: 14
Registriert: 30.07.2010, 11:53

Berechnung Summe in Abhängigkeit von Kontrollkästchen

Beitrag von Abtaucher » 04.08.2010, 14:55

Hallo,

mein Formular nimmt langsam Gestalt an, aber an einer Stelle hängt es noch.

Hier mein Problem:
Ich habe eine Tabelle, in der in jeder Zeile ein NumerischesFeld2 mit einem feststehenden (schreibgeschützten) Wert ist. Jede Zeile beinhaltet zudem ein Kontrollkästchen1. Am Ende der Tabelle habe ich ein NumerischesFeld3, in welchem die Summe der Werte aus dem jeweiligen NumerischenFeld2 der Zeilen darüber erscheinen soll - allerdings nur, wenn das Kontrollkästchen aktiviert ist.

Diese einfache Summenberechnung ohne Bedingung funktioniert:

Code: Alles auswählen

Formular1.Basismodule2.Zeile[8].NumerischesFeld3::calculate - (JavaScript, client)

var fields = xfa.resolveNodes("Zeile[*].NumerischesFeld2");     
var total = 0;    
for (var i=0; i <= fields.length-1; i++) {
    total = total + fields.item(i).rawValue;}    
this.rawValue = total;
Aber wenn ich das Ganze umstelle und versuche, die Bedingung einzubauen, bleibt das Summenfeld (NumerischesFeld3) leer:

Code: Alles auswählen

Formular1.Basismodule2.Zeile[8].NumerischesFeld3::calculate - (JavaScript, client)

var fields = xfa.resolveNodes("Zeile[*]");     
var total = 0;    
for (var i=0; i <= fields.length-1; i++) {
    if (fields.item(i).Kontrollkästchen1.rawValue==1) {
    total = total + fields.item(i).NumerischesFeld2.rawValue;}    
    }
this.rawValue = total;
Hat jemand eine Ahnung, wo der Fehler steckt? Freue mich über jede Hilfe!

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Berechnung Summe in Abhängigkeit von Kontrollkästchen

Beitrag von FileAffairs » 04.08.2010, 15:14

Hallo Abtaucher,

auf den ersten Blick sehe ich da nichts falsches. Lad doch evtl. mal Dein Formular hoch bzw. prüfe einmal nach welche Werte Dein Kontrollkästchen annehmen kann. Evtl. ist der Wert ja gart nicht 1 wenn das Kästchen gesetzt ist.

Noch ein kleiner Hinweis zu Deiner Schleife:

Code: Alles auswählen

for (var i=0; i <= fields.length-1; i++)
kannst Du auch schreiben als

Code: Alles auswählen

for (var i=0; i < fields.length; i++)

 
Ist 1. üblicher und spart 2. einige Berechnungen (wenn auch nicht wirklich aufwändig) um bei jeder Iteration von fields.length 1 abzuziehen.

Schönen Gruß

Maruan Sahyoun // fileaffairs.de

Abtaucher
Beiträge: 14
Registriert: 30.07.2010, 11:53

Berechnung Summe in Abhängigkeit von Kontrollkästchen

Beitrag von Abtaucher » 05.08.2010, 06:38

Hallo FileAffairs,

anbei das PDF. Vielen Dank für die Mühe. Das ist mein erstes dynamisches Formular und ich bin etwas ratlos, weil ich keine Ahnung habe, woran der Fehler noch liegen könnte. Die Werte für die Kontrollkästchen sind an sich richtig, aber vielleicht ist ja woanders etwas falsch eingestellt.

Ich habe das Skript (s.o.) erstmal nur in der Übersicht unter "2. Basismodule..." im Numerischen Feld (> calculate) neben Gesamt-LP stehen.

Liebe Grüße
Abtaucher
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Berechnung Summe in Abhängigkeit von Kontrollkästchen

Beitrag von FileAffairs » 05.08.2010, 08:08

Hallo Abtaucher,

das Problem ist eigentlich einfache - hab es nur gestern nicht gleich gesehen. Ursache ist das "ä" in Kontrollkästchen.

ich hab das Script mal angepasst aber auch so modifiziert das ich von vornherein nur die Kontrollkästchen selektiere bei denen der Wert auf "1" steht.

Code: Alles auswählen

// get the list of all Kontrollkästchen where rawValue == 1
var fields = xfa.resolveNodes("Zeile[*].Kontrollkästchen1.[rawValue == 1]");
var total = 0;	

for (var i=0; i < fields.length; i++) {
	// we need to get to the parent and the to NumerischesFeld2 as 
	// our list is a level down 
	total = total + fields.item(i).parent.NumerischesFeld2.rawValue;
}	
this.rawValue = total;
Gruß

Maruan Sahyoun // fileaffairs.de

Abtaucher
Beiträge: 14
Registriert: 30.07.2010, 11:53

Berechnung Summe in Abhängigkeit von Kontrollkästchen

Beitrag von Abtaucher » 05.08.2010, 09:01

... und wieder was dazu gelernt...

VIELEN DANK für die schnelle Hilfe! :)

Viele Grüße
Abtaucher

Antworten