Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Sum of various row by loop

Avatar

Level 4

I have a livecycle dynamic form in which table10 contains Row0, Row1.....Row9

i create a loop for sum of cell4 of table10 rows

var vTotal = 0;

var nRows = SFcsl.Table10.resolveNodes("Row" + i + ".Cell4");

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

vTotal = vTotal + nRows.rawValue;

this.rawValue = vTotal;

but it result show always 0

plz help me

1 Accepted Solution

Avatar

Correct answer by
Level 10

Your SOM expression for resolveNodes() is wrong.

Try

var nRows = SFcsl.Table10.resolveNodes("#subform[*]" + ".Cell4"),

   vTotal = 0;

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

    vTotal += nRows.item(i).rawValue;

}

this.rawValue = vTotal;

View solution in original post

11 Replies

Avatar

Correct answer by
Level 10

Your SOM expression for resolveNodes() is wrong.

Try

var nRows = SFcsl.Table10.resolveNodes("#subform[*]" + ".Cell4"),

   vTotal = 0;

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

    vTotal += nRows.item(i).rawValue;

}

this.rawValue = vTotal;

Avatar

Level 4

Thanks a lot for correction in script.

its work perfectly but

this script will not work  if table10 conatins headerRow  with textfield.

i check       for (var i=1; i<nRows.length; i++)

but no result show.

Avatar

Level 10

You can filter the type of row by using predicates.

var nRows = SFcsl.Table10.resolveNodes('#subform.[assist.role == "TR"]'),

    vTotal = 0;

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

    vTotal += nRows.item(i).Cell4.rawValue;

}

this.rawValue = vTotal;

Avatar

Level 4

plz suggest a script to change caption of a button when click

i try this but not working

if (this.rawValue == "OnClick")

{

this.caption.value.text.value = "Good";

}

else if (this.rawValue == "offClick")

{

this.caption.value.text.value = "Bad";

}

Avatar

Level 10

Hi,

for this scenario you can use a switch() expression.

var c = this.rawValue, r = "";

switch (c) {

case "OnClick" : r = "Good"; break;

case "On2Click" : r = "Average"; break;

case "offClick" : r = "Bad"; break;

}

this.caption.value.text.value = r;

Avatar

Level 4

when i use this script in click event of a button its not working.

Avatar

Level 4

sir its not working in click event of a button plz help?

Avatar

Level 10

Well, you might explain what you're after. Where do you enter the values "OnClick" etc. and which caption you want to change?

Avatar

Level 4

i want to use a Button instead of Dropdown List

so i can choose a option (good/average/bad) by click a button

after first click  of button "button's caption = Good"

after Second click  of button "button's caption = Average"

after third click of button "button's caption = bad"

plz help

Avatar

Level 10

Ok, that's no a big deal.

var c = this.caption.value.text.value,

r = "";

switch (c) {

case "Bad" : r = "Good"; break;

case "Good" : r = "Average"; break;

case "Average" : r = "Bad"; break;

default: r = "Good";

}

this.caption.value.text.value = r;

Avatar

Level 4

Thank you very much

finally its working.