You were right. My forms were set to static. Thanks again. I am enjoying your LiveCycle tutorials. They really have helped me over the last month. Your presentation are really good. My favorite part is how in the beginning you demonstrate the end result. Please keep making these!
Here is the JavaScript code: var rowNum = this.rawValue; this.parent.Table1._Row1.setInstances(rowNum); This code would need to be placed in the "exit" event of a dropdown in the same subform as a table named "Table1".
All my videos are shot using Acrobat X and LiveCycle Designer 9.0.0.2. You may need to check your form properties and see if it is set to "static". Also the form must be saved as a "dynamic pdf" for any of this to work.
Make sure you have saved your form as a "dynamic pdf". To check goto File>Form Properties>Defaults and see if the PDF Render Format is set to dynamic. If no change and resave. When re-saving look at the "Save as Type" and be sure it is set to "Adobe Dynamic PDF Form". If this doesn't fix your problem...go to my blog and contact me to take a closer look. Thanks!
Hi, I'm challenged by the situation if the last data row Row1 is deleted how do we recreate the Row1 without its instancemanager? really great set of videos you got going here, essential viewing.
Hi Can you kindly advise using table to expand and decrease row by row with text field and dropdown? is it possible. it's my first time using this.. Thanks
thanks for the tutorial. I am trying to add a numeric field with the values of expanding rows of a table. i was successful using formcalc. but i want to validate the total field such that it does not go beyond 100. when total goes above 100 i have a script in exit event that displays an error messagebut if you click on other places on the form. the value in total has more than 100. i have also tried layout:ready but doesnt work. can you please tell me what are the ways that can be done.
Hi, thank you very much for the video and posting the Javascript. May I ask which version of LifeCycle your are working with? I am using an older version, CS3, and just cannot seem to get the Javascript to work for adding the row. Did you do anything special to setup your form properties? Thanks again.
The expanding and deleting rows works well, however when pressing the 'plus' and the 'minus' button, The text that I have entered in another field on the master page, such as a name, all disapear. would this be the Javascript? thanks
I figured out my previous comment, I just need to change my binding to 'normal' instead of none. However, in the expanding table demonstrated, using the 'plus' button adds a row below row1 everytime. How do you get it to add a row beneath the one you have just added? thanks
Is there a way to add the row at the end of the table. This works great for adding a row beneath the first row, but I need to add a row at the end of my table
Mo cha - I had the exact same problem. Originally, I had copied and pasted the JavaScript from this comment string. I decided to start fresh by just typing it in by hand and it worked. I'm thinking I must have had an extra space or something that was messing things up.
Sorry, but it seems the code is not on the blog. Or if it is, it's not easy to find. Can you post a direct link to where this code can be found? The code is pretty critical to this tutorial working. Thanks.
How can I add rows to a table from a data connection. My record level detail may have multiple "line items" that I want to display. There may be up to 8 active records in the line item detail. Can this be done in Adobe LiveCycle Designer ES3?
I'm creating a form to use for creating agendas. I'm using the following code to add a row to the bottom of the table: this.parent.parent.InstanceManager.addInstance(); Is it possible to allow users to add rows in between rows. For example, the user already inserted a row for something taking place from 8am-9am and 9:30am-10:30am. Is there any code that could be associated with the button so they could later insert a row in between the 8am-9am and 9:30am-10:30am items on the agenda?
this.parent.parent is a reference to the "Row" object that we are trying to "add" to. If that object is not in the same relative position to the command button "cmdAdd", then this error will appear. Since I cannot see your form, I can only guess that your table is not setup exactly like the example in the video. Therefore this relative reference is not working. Contact me through the the blog to get more specific help.
Hi, I am trying to solve this situation - how to add only specific number of instances based on selected value. Let's say I have a drop-down list with values from 1 to 10 (when "1" is set as a default and one row is already visible). So when I select e.g."3" from the drop-down list the script will add 2 more rows so there are 3 rows. If I select "2" one row will be removed. Is there any solution for this?
Hi I have gotten all the way up to the part to where you test the buttons to see if they work. However mine buttons dont do anything. My form is set up as dynamic and I have copied and pasted the codes as you have written. Is there something else that I am missing. Please Help!
Hi I am challenged by the situation. There is a section Tools and Plants, On clicking of Add another it should dynamically In this section i have Is plant required? field on click of Yes, row in the table should add and values which i select from Plant section(drop down) should move in the row. On No it should delete the specific row in the table. And there is also a Delete button in the section. On click of the Section and the Specific row should delete... Please anyone help me
I copied and pasted what you sent me, but i get this error message: "this.parent.parent.InstanceManager has no properties" sorry if I'm getting lost somewhere. Thanks for your tutorials, they are really helpful.
I can't see how you added the java code. Was there a tool or did you copy/paste from somewhere? If you copy and pasted, can you share the code? It's blurry... Thanks so much!
I've been able to get the Javascript working as outlined below but how do I go about adding rows beneath the requesting row? The script works great for adding a row beneath the first row, but I need to add a row beneath the row I'm currently working in. Not necessarily at the end of my table.
Claude Potvin Here are the scripts that ended up working perfectly for me; var rowNum = this.parent.parent.index +1; this.parent.parent.instanceManager.insertInstance(rowNum); var rowNum = this.parent.parent.index; this.parent.parent.instanceManager.removeInstance(rowNum);
Claude Potvin Good work Claude...keep the feedback coming. insertInstance() puts the new instance in whatever position you include in the function...addInstance() adds the new instance to the end of the series.
Hi! I am NOT a java script writer...I know nothing about it except how to copy and paste. I was able to get the script to ADD rows from previous comments to this video, but what is the script for the DELETE button?
PMY If the script doesn't work, I would look for another reason. Maybe you've renamed your objects and not changed the scripts object reference? Also remember, javascript is cAse SenSItivE.
Any suggestion with respect to keeping sections together. For some reason the next section I create appears on the next page instead of directly beneath the rest of the form I'm building. Looking at the hierarchy all of my sections are appearing inside it and there doesn't seem to be any weir fields showing up that would cause it to break and appear on the next page.
Claude Potvin Under the Object>Pagination tab, you may need to adjust the "keep with next" settings. It could be that you have inadvertently gotten these corrupted. Also, in a flowed form, every object can exist on one page that is set to "allow page breaks within content". This creates a flowable form that can grow/shrink no matter how many rows are added.
Thank you for the information it greatly helped. One thing happened which I'm confused with. Before doing this, I had a table that flowed onto the next page, which was perfect. The bottom of the first half resembled a piece of torn paper and on the following page the top of the second half resembled a piece of torn paper but after correcting my other issues a blank page has inserted itself between both halves of the table. Any suggestion? Thanks again.
Claude Potvin It's a big topic, but you probably have something misconfigured in your "Pagination" Tab settings. Not sure, but with flowed pages and subforms, I suggest only one "design page" with all my subforms nested inside. Then I make sure to click "allow page breaks". This allows the form to grow as big as the user may require.
Was able to figure it out....now all of my fields are appearing where I would like them to be and everything is flowing as intended. Any ideas how I go about getting rid of the last page (it's blank) and just adds another page to my form for no reason. Thank you.
+Mina Mina Hi, I'm an executive headhunter and you have been recommended to me by one of your peers. However, I couldn't find you on LinkedIn and this is the first method of contacting you I found. If you receive this, please provide a more private way to contact you. Best, Edward
Javascript for cmdAdd: var rowNum = this.parent.index +1; this.parent.parent.instanceManager.insertInstance(rowNum); Javascript for cmdDel: var rowNum = this.parent.parent.index; this.parent.parent.instanceManager.removeInstance(rowNum);
Almost anything is possible with expanding rows...if you know enough javascript to do it. Basically, you would need to write a script to put the contents of the table in an array, then sort it by some criteria, then repopulate it back into the table. Not easy, but doable.
True Tech Troubleshooting Does this sound like something you'd be willing to demonstrate? As I've mentioned, there isn't a lot of data on this, and I'm not a JavaScript aficionado by any stretch.
Instead of this code in the cmdAdd button... var rowNum = this.parent.index +1; this.parent.parent.instanceManager.insertInstance(rowNum); Use this: this.parent.parent.InstanceManager.addInstance();
var rowNum = this.parent.index + 1; this.parent.parent.instanceManager.insertInstance(rowNum); I think I got it, Is Below Correct? var rowNum = this.parent.index + 1; this.parent.parent.instanceManager.insertInstance(rowNum);
Brad Butchers did you ever get this JS to work? I've copied it into a button on the subform with no success. The only way I can get ES2 to expand the table using a button is with the "Action Builder".