]> source.dussan.org Git - poi.git/commitdiff
Add table row at correct index
authorAlain Béarez <abearez@apache.org>
Sun, 12 Apr 2020 00:26:12 +0000 (00:26 +0000)
committerAlain Béarez <abearez@apache.org>
Sun, 12 Apr 2020 00:26:12 +0000 (00:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1876409 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java

index a18d38b0f7c214da61827d7e9958b3533307935b..74c092134546c9c9cc9464e2a71230df776e2e21 100644 (file)
@@ -153,14 +153,15 @@ public class XSLFTable extends XSLFGraphicFrame implements Iterable<XSLFTableRow
 
     public XSLFTableRow addRow(){
         CTTableRow tr = _table.addNewTr();
-        return initializeRow(tr);
+        XSLFTableRow row = initializeRow(tr);
+        _rows.add(row);
+        return row;
     }
 
     private XSLFTableRow initializeRow(CTTableRow tr) {
         XSLFTableRow row = new XSLFTableRow(tr, this);
         // default height is 20 points
         row.setHeight(20.0);
-        _rows.add(row);
         for (int i = 0;  i < getNumberOfColumns(); i++) {
             row.addCell();
         }
@@ -177,7 +178,9 @@ public class XSLFTable extends XSLFGraphicFrame implements Iterable<XSLFTableRow
             throw new IndexOutOfBoundsException("Cannot insert row at " + rowIdx + "; table has only " + getNumberOfRows() + "rows.");
         }
         CTTableRow tr = _table.insertNewTr(rowIdx);
-        return initializeRow(tr);
+        XSLFTableRow row = initializeRow(tr);
+        _rows.add(rowIdx, row);
+        return row;
     }
 
     /**