Stefan Cameron on Forms
Building intelligent forms using Adobe LiveCycle Designer

Tip: Default Subform Binding Options

Did you know that you can specify the default data binding for new subforms in the “Tools menu > Options dialog > Data Binding panel”?


The default setting is “Normal” which means that all new subforms you insert from the Object Library with have their “Object palette > Binding tab > Default Binding property” set to “Normal” which means implicit binding using the subform’s name.

Setting this to “None” will result in all new subforms having a default binding of “None” which means they don’t participate in data binding by default. Since subforms are often needed purely for form layout, I find it’s safer to use this setting because I know inserting new subforms will not affect any bindings I have already setup in my form. (While it’s true that unnamed subforms don’t participate in data binding, I always name my subforms for clarity and scripting purposes so setting the binding to “None” ensures they don’t mess with data binding unless I want them to.)

Posted by Stefan Cameron on April 23rd, 2009
Filed under Data Binding,Designer,Tips,XFA
Both comments and pings are currently closed.

6 Responses to “Tip: Default Subform Binding Options”

  1. brad on May 14th, 2009


    How do I add a duplicate record to access from my livecycle form. I have the database all connected and working properly (using the purchase example files) but would like to be able to duplicate the ID #

    any thoughts?

  2. Mike on May 19th, 2009

    Hello Stefan, I would like to ask you a question I am unable to find an answer for. I have Adobe LiveCycle Designer 8 and I am trying to create a form from a database table. I have no trouble getting the top row of the table but I need them all. Then I need to print them all. So the short version is I have 5 fields coming from a table, the fields then get placed on a form that needs to be printed but, I need a seperate form for each row in the table. I am using sql server and, if you can help with this I would certainly appreciate it.

    Thanks in advance,


  3. Stefan Cameron on May 19th, 2009


    See my reply here (same question, different post).

  4. Stefan Cameron on May 25th, 2009


    Did you really mean a separate form (i.e. document) for each row or did you mean (or could settle for) a separate page for each row?

    If a separate page for each row could work, then have a look at my tutorial on displaying all records from an ODBC data connection. This will get you started in displaying all the records, not just the first one. Then, instead of adding rows to a table like in my tutorial, I would add instances of a page subform which contains fields for each data item in a row. For each record processed, add a new instance of the page subform and populate its fields with the record’s data. That should give you a form that has multiple pages, each page with one row of data.

  5. Mike on June 3rd, 2009

    Stefan; Yes, I would like to have one file with as many pages as there are rows in the table. Let me break this down a little more. What I need to do is, through ASP.NET a user will be printing certificates using data from an SQL Server table. The table set up with six columns, only 5 of which I need on the certificate. As it stands right now I can only get the top row of the table, which is great if I only needed to print 1 certificate. I have tried every solution I could find and it is still not working. I walked through your example without results as well. I will not be using navigation buttons for this application. I am using VS2005, SQL Server 2000 and LiveCycle Designer 8. I am not sure if there are steps I have missed but, I believe I was very careful to follow the suggestions I did find. Perhaps I missed something while creating the form? I am working with LiveCycle for the first time and I am not real familiar with it.

    So if you can help me with this mess I would greatly appreciated it.

    Thanks again


  6. Stefan Cameron on June 8th, 2009


    Sounds like you should try doing what I suggested in my previous reply (see comment #4 above). Let me know how that goes.