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

Generating a form from XML data - Need to take values populated in one table to create another table

Avatar

Avatar
Validate 1
Level 1
ellenk76580830
Level 1

Likes

2 likes

Total Posts

8 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile

Avatar
Validate 1
Level 1
ellenk76580830
Level 1

Likes

2 likes

Total Posts

8 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile
ellenk76580830
Level 1

13-05-2019

I'm currently using ES4.  I have users entering data from another tool and I take that data in an XML format and map to an Adobe Livecycle form.

The users are entering data into a dynamic table and that is then populated onto a dynamic table in the form.  All of that works fine.  Data is correctly populated into rows and columns dynamically.

What I need to do though, is take data from that table and populate a summary on the last page of the form with contents from the earlier without prompting the users again for the information.

First table has 6 columns (let's just say A, B, C, D, E, F).  I only want rows where the value in Column A is "yes" and I only want to pull data from columns C, D, & F.

The contents of C, D & F would then populate onto a new table at the end of the form with the appropriate number of rows.

I've done quite a bit of scripting in forms, but not for dynamic tables.  I'm also not sure which event this should trigger on.  Most often I utilize the ready:form even as I'm auto generating the form from an XML.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Applaud 5
Level 2
sergiy2511
Level 2

Likes

0 likes

Total Posts

21 posts

Correct Reply

6 solutions
Top badges earned
Applaud 5
Affirm 5
Affirm 3
Affirm 1
View profile

Avatar
Applaud 5
Level 2
sergiy2511
Level 2

Likes

0 likes

Total Posts

21 posts

Correct Reply

6 solutions
Top badges earned
Applaud 5
Affirm 5
Affirm 3
Affirm 1
View profile
sergiy2511
Level 2

17-05-2019

Hi, so basically once your first table is created you need to loop through its rows and for every row that meets your condition you are creating the new row in the Table B. You can do it by accessing the .instanceManager of the row in table B. Then once the row is created you can use xfa.resolveNode to pass values from table A to Table B. Your last row of the table B may be identified by the .count property that returns your current number of rows in table B.

Let me know if you'll need more details.

Answers (1)

Answers (1)

Avatar

Avatar
Validate 1
Level 1
ellenk76580830
Level 1

Likes

2 likes

Total Posts

8 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile

Avatar
Validate 1
Level 1
ellenk76580830
Level 1

Likes

2 likes

Total Posts

8 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile
ellenk76580830
Level 1

17-05-2019

THANK YOU SO MUCH!!!  I was successful.  The one challenge is I only needed to create a row in Table B based on specific conditions.  The instanceManager was the ticket.

Below is my sample code if anyone needs similar assistance.

var i =
Assessment.Page7.Summary.LTCSummary.TableThird.Row1.instanceManager.count

    

if
(xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").LTC1.rawValue == 'Yes' &&

    
xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").EndDate1.rawValue == null &&

    
xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").Agrees1.rawValue == 'Yes')

{


Assessment.Page7.Summary.LTCSummary.TableThird._Row1.addInstance(true);

xfa.resolveNode("Assessment.Page7.Summary.LTCSummary.TableThird.Row1["
+ (i - 1) + "]").ServiceType1.rawValue = this.rawValue;

xfa.resolveNode("Assessment.Page7.Summary.LTCSummary.TableThird.Row1["
+ (i - 1) + "]").Units1.rawValue =
xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").Units1.rawValue;

  xfa.resolveNode("Assessment.Page7.Summary.LTCSummary.TableThird.Row1["
+ (i - 1) + "]").ProviderName1.rawValue =
xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").ProviderName1.rawValue;


xfa.resolveNode("Assessment.Page7.Summary.LTCSummary.TableThird.Row1["
+ (i - 1) + "]").Date1.rawValue =
xfa.resolveNode("Assessment.Page2.ServiceSummary.LTCSub.TableFirst.Row1["
+ this.parent.index +
"]").Date1.rawValue;

  }