Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

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

DCS_JeffW
Level 2
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
kvdvijaykumar
Level 4
Level 4

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

DCS_JeffW
Level 2
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