how do I use a wild card with a repeating row?

Avatar

Avatar

Nathan_Ford

Avatar

Nathan_Ford

Nathan_Ford

15-03-2016

Hello, I have a form with a table that contains a repeating row.

The table is populated from an xml import.

I would like to hide one of the columns based on a dropdown, but the [*] Wildcard does not work

Please help me with the var i " + i + " code to acheive this

if ($.boundItem(xfa.event.newText) == "stephenw@babybunting.com.au") {

  this.resolveNode("Body.Table.HeaderRow.QLD").presence = "hidden";

  this.resolveNode("Body.Table.Row[*].QLD").presence = "hidden";

  this.resolveNode("Body.Table.FooterRow.TotalQLD").presence = "hidden";

  Subform1.Body.Table.columnWidths="15mm 30mm 55mm 15mm 15mm 15mm 15mm 15mm 15mm";

}

Thanks

Nathan

Accepted Solutions (0)

Answers (4)

Answers (4)

Avatar

Avatar

Magus069

MVP

Total Posts

1.0K

Likes

132

Correct Answer

150

Avatar

Magus069

MVP

Total Posts

1.0K

Likes

132

Correct Answer

150
Magus069
MVP

17-03-2016

Avatar

Avatar

Nathan_Ford

Avatar

Nathan_Ford

Nathan_Ford

16-03-2016

Thankyou both for the reply, that's exactly what I was looking for.

How do I put the for statement inside the if statement

trying this

var oRows = xfa.resolveNodes("Body.Table.Row[*]"); 

if ($.boundItem(xfa.event.newText) == "stephenw@babybunting.com.au") {

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

    oRows.item(i).QLD.presence = "hidden";

}

Avatar

Avatar

radzmar

MVP

Total Posts

2.6K

Likes

386

Correct Answer

485

Avatar

radzmar

MVP

Total Posts

2.6K

Likes

386

Correct Answer

485
radzmar
MVP

16-03-2016

You can also use the asterisk wildcard in JavaScript when you the resolveNodes method.


var oRows = xfa.resolveNodes("Body.Table.Row[*]");


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


    oRows.item(i).QLD.presence = "hidden";


}


For more information about this mehtod read this post.

resolveNode vs. resolveNodes

Avatar

Avatar

Magus069

MVP

Total Posts

1.0K

Likes

132

Correct Answer

150

Avatar

Magus069

MVP

Total Posts

1.0K

Likes

132

Correct Answer

150
Magus069
MVP

16-03-2016

Hi there,

you could use FormCalc instead to use the [*], I think this could work...

if not, here is the loop you need

Hope this will help