private void addExtraHeaderRows(string name)
{
if (SharedData.ExtraHeaderRows == 0) return;
if (shouldRepeatGroupHeader(name)) return;
if (!SharedData.PageSetup.MainTablePreferences.ShowHeaderRow) return;
for (int i = 0; i < SharedData.ExtraHeaderRows; i++)
{
if (SharedData.MainTableEvents != null)
SharedData.MainTableEvents.RowStarted(new EventsArguments { PdfDoc = SharedData.PdfDoc, PdfWriter = SharedData.PdfWriter, Table = MainTable, RowType = RowType.HeaderRow, ColumnCellsSummaryData = SharedData.ColumnCellsSummaryData, PreviousTableRowData = _previousTableRowData, PageSetup = SharedData.PageSetup, PdfFont = SharedData.PdfFont, PdfColumnsAttributes = SharedData.PdfColumnsAttributes });
var column = 0;
while (column < SharedData.ColumnsCount)
{
int initColSpan = 1;
var col = SharedData.PdfColumnsAttributes[column];
if (col.HeadingCells.Count < i)
{
TableCellHelper.AddExtraHeaderCell(column, initColSpan, new HeadingCell { Caption = string.Empty });
}
else
{
if (col.HeadingCells[i].MergeHeaderCell)
{
initColSpan = getExtraRowColSpan(i, column);
}
TableCellHelper.AddExtraHeaderCell(column, initColSpan, col.HeadingCells[i]);
}
column += initColSpan;
}
if (SharedData.MainTableEvents != null) SharedData.MainTableEvents.RowAdded(new EventsArguments { PdfDoc = SharedData.PdfDoc, PdfWriter = SharedData.PdfWriter, Table = MainTable, RowType = RowType.HeaderRow, ColumnCellsSummaryData = SharedData.ColumnCellsSummaryData, PreviousTableRowData = _previousTableRowData, PageSetup = SharedData.PageSetup, PdfFont = SharedData.PdfFont, PdfColumnsAttributes = SharedData.PdfColumnsAttributes });
}
}