5 Replies Latest reply on Aug 31, 2016 12:46 PM by Obi-wan Kenobi

    Duplicate table row

    karthiks94217840 Level 2

      Dear Friend,

       

      I need your help!

       

      How to duplicate in the table row? I was try and search to forum, but i have not got single solution. Also, i have place my code and screenshot below:

      please suggest me friends.

       

        
        var curDoc = app.documents[0];  
        var allTables = curDoc.stories.everyItem().tables.everyItem().getElements();  
        var nTables = allTables.length;  
        var testID = 0;
        for (var t = 0; t < nTables; t++) {  
          var curTable = allTables[t];  
          var allRows = curTable.rows;  
          var nRows   = allRows.length;  
            
          for (var r = 0; r < nRows; r++) {  
            var curRow = allRows[r];  
            var iP = curRow.cells[0].insertionPoints[0];  
            var parTFrameID = iP.parentTextFrames[0].id;  
        
            if (testID != 0 && testID != parTFrameID) {  
              var appliedStyle = allRows[r-1].cells.everyItem().appliedCellStyle = "TBLR";
              var addRow = allRows.add(LocationOptions.BEFORE, allRows[r+0]);
      
      
      //************************I have missing some duplicate code here******************************
      //************************Help Need******************************        
              
            }  
          testID = parTFrameID;  
          }  
        }  
      

       

       

      screenshot here:

      DDD.png

       

      Thanks in Advance

      KS

        • 1. Re: Duplicate table row
          tpk1982 Level 4

          It looks like you can use header option available in table menu

          • 2. Re: Duplicate table row
            Obi-wan Kenobi Adobe Community Professional

            Nope! Table Title is included in the first cells line! 

            • 3. Re: Duplicate table row
              tpk1982 Level 4

              Ah.. I missed

              • 4. Re: Duplicate table row
                Kai Rübsamen Adobe Community Professional

                First of all, don’t call it 'my code' if it is not yours … ;-)

                 

                Second:

                You try to add rows to rows, but in the UI you would add rows to the current table.

                 

                main();
                
                function main() {
                
                var curDoc = app.documents[0];
                var allTables = curDoc.stories.everyItem().tables.everyItem().getElements();
                var nTables = allTables.length;
                
                var testID = 0;
                
                for (var t = 0; t < nTables; t++) {
                  var curTable = allTables[t];
                  var allRows = curTable.rows;
                  var nRows   = allRows.length;
                  var subheaderContents = allRows[1].contents;
                  
                  for (var r = 0; r < nRows; r++) {
                    var curRow = allRows[r];
                    var iP = curRow.cells[0].insertionPoints[0];
                    var parTFrameID = iP.parentTextFrames[0].id;
                    if (testID != 0 && testID != parTFrameID) {
                      var c = allRows[r-1].cells.everyItem();
                      var subheaderRow = curTable.rows.add(LocationOptions.BEFORE, curRow);
                      subheaderRow.contents = subheaderContents;
                    }
                    testID = parTFrameID;
                  }
                }
                }
                
                • 5. Re: Duplicate table row
                  Obi-wan Kenobi Adobe Community Professional

                  Aha! … "Nobody forces you but, if you give me, it belongs to me and it becomes mine! So it's mine!" Simply logical! 

                  As we say in French: "Donné, c'est donné ! Reprendre, c'est volé !"