Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

Repeatable row disabled by default. Need to enable all rows based on value in XML.

Avatar

Level 2

I have a repeatable row in a table that is defaulted to read only.   If a certain value doesn't exist in the XML (populated != x), I want to make add / remove buttons visible and and make the text fields in the row and all subsequent instances Open.

when populated !=x:

disabled.JPG

This is the code:

if (xfa.host.name != "XFAPresentationAgent" && this.resolveNode("populated").rawValue != "x") {

  oTargetField = this.resolveNode("#subform[2].tbl_people.person.name");

      oTargetField.access = "open";

  oTargetField = this.resolveNode("#subform[2].tbl_people.person.relationship");

      oTargetField.access = "open";

  oTargetField = this.resolveNode("#subform[2].tbl_people.person.age");

      oTargetField.access = "open";

}

When I use this, it only enables the first row and none of the subsequent rows/instances.  

enabled.JPG

Any assistance would be greatly appreciated!

-Jeff

2 Replies

Avatar

Former Community Member

Hi DCS_JeffW,

I guess, you need to follow these steps:

1) You need to find the number of repeating rows first. Assuming that "people.person" is the repeating instance:

               

                var countOfPPInstances = xfa.resolveNode("....people.person").instanceManager.count;

2) Modify your code as follws:

                if (xfa.host.name != "XFAPresentationAgent" && this.resolveNode("populated").rawValue != "x")

                {

                                for(var i=0;i<countOfPPInstances;i++)

                                {                              

                                 xfa.resolveNode(“..people.person[“+i+”].name").access=”open”;

                                                  xfa.resolveNode(“..people.person[“+i+”].relationship").access=”open”;     

                                                  xfa.resolveNode(“..people.person[“+i+”].age").access=”open”;

                                }              

                }

Let me know if this works. Alternatively, you can mail me your form @ kvdvijaykumar@gmail.com

Avatar

Level 2

Suspect Attachment

I changed to:

var countOfPPInstances = xfa.resolveNode("tbl_people.person").instanceManager.count;

if (xfa.host.name != "XFAPresentationAgent" && this.resolveNode("populated").rawValue != "x")

{

for(var i=0;i<countOfPPInstances;i++)

{

xfa.resolveNode("tbl_people.person["i"].name").access="open";

xfa.resolveNode("tbl_people.person["i"].relationship").access="open";

xfa.resolveNode("tbl_people.person["i"].age").access="open";

}

}

And it works perfectly!

Thank you!!

-Jeff