internal void InsertInternal(int rowIndex, int rowCount, ExcelRow sourceRow) { ArrayList list = new ArrayList(); if (sourceRow != null) { foreach (ExcelCell cell in sourceRow.AllocatedCells) { CellRange mergedRange = cell.MergedRange; if (((mergedRange != null) && (mergedRange.FirstRowIndex == sourceRow.Index)) && (mergedRange.LastRowIndex == sourceRow.Index)) { list.Add(mergedRange); } } } base.FixAllIndexes(rowIndex, rowCount); for (int i = rowCount - 1; i >= 0; i--) { ExcelRow row; if (sourceRow != null) { row = new ExcelRow(this, sourceRow) { Index = rowIndex + i }; foreach (CellRange range2 in list) { row.Cells.GetSubrangeAbsolute(row.Index, range2.FirstColumnIndex, row.Index, range2.LastColumnIndex).Merged = true; } } else { row = new ExcelRow(this, rowIndex + i); } base.Items.Insert(rowIndex, row); } }
public void InsertCopy(int rowCount, ExcelRow sourceRow) { ((ExcelRowCollection)base.Parent).InsertInternal(base.Index, rowCount, sourceRow); }
internal ExcelRow(ExcelRowCollection parent, ExcelRow sourceRow) : base(parent, (ExcelColumnRowBase)sourceRow) { this.height = 255; this.height = sourceRow.height; this.cellCollection = new ExcelCellCollection(parent.Parent, sourceRow.cellCollection); }