3 Replies Latest reply on Aug 12, 2011 4:52 AM by pguerett

    Changing the Field Names




      I am dynamically adding rows to a table using the following code




      The rows cells are all text fields for user data input. Rows are getting added perfectly fine along with the text fields. The only issue I am facing is that all the new rows have the same name as the first row. Is there anyway I can change the name of the new row to something else. I tried


      newRow.name = "trSheet" + newRowIndex.toString();


      but it does not work. The XFA field names will still be the same.

        • 1. Re: Changing the Field Names
          pguerett Level 6

          The field name will be the same but the row that they are from will be unique. So If the Row subform is called Row  and the field is called field you will have Row[0].Field, Row{1].Field, Row[2].Field...etc


          Now how do you reference that in an expression seeing as the [ ] are used for arrays in Javascript. You would need teh xfa.resolveNode("string .....") sytax. So if you want to add all three values you woudl use ths sytax:


          Total.rawValue = xfa.resolveNode(Row[0].Field).rawValue + xfa.resolveNode(Row[1].Field).rawValue  + xfa.resolveNode(Row[2].Field).rawValue


          Or if you want to more sophisticated:


          for (i=0;i<Row.instanceManager.count;i++){

               Total.rawValue += xfa.resolveNode("Row[" + i + "].Field).rawValue



          Note that the count is 1 based but th einstances are 0 based!


          Hope that helps



          1 person found this helpful
          • 2. Re: Changing the Field Names
            shreedhark Level 1

            Paul, Thanks for your answer.


            However, what I am trying to do is to read this form data from a third party library called Quick PDF which allows extracting XFA form data using the field names. Unfortunately, it does not support array like syntax for referencing the form fields.


            The Adobe itself will create array for rows like trSheet[1...n], but when I am reading from this library, I need to give it a absolute name lile




            If I manually add rows then I can give each row a different name (trSheet1, trSheet2.. etc), but however I am dynamically adding the rows to table, I was looking for a way to change the row names when doing so.




            • 3. Re: Changing the Field Names
              pguerett Level 6

              Then I do not see how you will do this ...when you add an Instance you are basically cloning what is there already (making a copy of the object).


              Doesn't sound like that software (QuickPDF) deals with dynamic forms very well.