Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.
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.