I am in the process of creating an interactive form that has a button that add rows for the user to input issues and another button to add follow-ups to those instances. There are 3 different sets of these. However, we do not want to add a delete button to all rows, to allow for accidental deletion of already inputted data. I would like to create a button that will delete all empty rows, including all subforms. Either that, or upon saving the document, all empty rows would be deleted - whichever would be easier. Please help! This seems like it will be a complicated task and I am not that well versed in LiveCycle to be able to figure this out on my own.
Thank you!
Solved! Go to Solution.
Views
Replies
Total Likes
In the Object > Binding palette. I have included a screenshot on the forum.
Niall
Views
Replies
Total Likes
I see it. Thank you thank you thank you! Would you mind taking down the last form posted?
You have been the MOST helpful... I appreciate your time!
Views
Replies
Total Likes
Done!
Views
Replies
Total Likes
Okay - this is genuinely the last time I will bother you because this is the last thing I need for this awful form to be finished haha. How would I add into the delete button, that if any follow-up rows are blank they should be deleted? I tried myself, and obviously, since I am clearly in way over my head with this project, it does not work. I know it' smuch more complicated because it has to count through the original statements and then again through the follow-ups... is this even possible?
Views
Replies
Total Likes
I am still stuck on how to get this button to delete blank follow-up rows to each statement. I've played with it for several hours and can't come up with the proper code. Is this possible to do or am I trying to complete something that can't be done?
Views
Replies
Total Likes
It can be done - see example. However it does require each of the repeating elements to be set to an initial count of 1 and NOT a minimum count at all.
Also have a look at the form I sent back. There were some Row1 that were incorrectly set to repeat. This wasn't needed as the row was in a repeating subform. I corrected these.
Good luck,
Niall
Views
Replies
Total Likes
There was no link or example attached to this post!
Views
Replies
Total Likes
Hi,
I am out of the office and cannot post your form for a while.
The point I was making is that it can be done and I was referring you to the example I posted on the 15 Nov. (post 18). That was a working example that deleted all empty rows in all of the tables. You just need to follow that.
If script is failing you should open the JavaScript Console (Control+J), which should show you were the problem is.
Niall
Views
Replies
Total Likes
It's fine no rush - I actually got all the rows to work except for the
follow-up statements. They are add instances of add instances and I'm not
sure of the syntax of how to locate that exact item. I'm assuming you have
to count through the first add instances and then count through the sub-add
instances but I keep messing it up!
Views
Replies
Total Likes
There is no doubt that looping through nested repeating objects is more complex:
Here is the script for the first table with follow-up rows:
// Technical
var nCount3 = VitalsSubform.Technical._Instance1.count;
for (var k=0; k<nCount3; k++)
{
// this is script to remove the follow-up rows in the first table only
var nCount6 = xfa.resolveNode("VitalsSubform.Technical.Instance1[" + k + "]").Table1._Row1.count;
// loop through the rows in the follow-up table
for (var i=0; i<nCount6; i++)
{
if (xfa.resolveNode("VitalsSubform.Technical.Instance1[" + k + "].Table1.Row1[" + i + "]").Cell4.rawValue == null)
{
// remove null row
xfa.resolveNode("VitalsSubform.Technical.Instance1[" + k + "]").Table1._Row1.removeInstance(i);
// recount nCount in case a row has been deleted
nCount6 =xfa.resolveNode("VitalsSubform.Technical.Instance1[" + k + "]").Table1._Row1.count;
// account for the row that is now deleted
i = i-1;
}
}
// now remove null statements
if (xfa.resolveNode("VitalsSubform.Technical.Instance1[" + k + "]").Table1.Statement.Statement.rawValue == null)
{
VitalsSubform.Technical._Instance1.removeInstance(k);
var nCount3 = VitalsSubform.Technical._Instance1.count;
k = k-1;
}
}
Views
Replies
Total Likes
Ah yeah its not working properly it only deletes the follow ups on the first
statement and then nothing after that. Oh well thank you for your time!
Views
Replies
Total Likes
Views
Likes
Replies