exportTableSummaryRow method
void
exportTableSummaryRow(
- SfDataGrid dataGrid,
- GridTableSummaryRow summaryRow,
- PdfGrid pdfGrid
Export table summary row to the Excel.
Implementation
@protected
void exportTableSummaryRow(
SfDataGrid dataGrid, GridTableSummaryRow summaryRow, PdfGrid pdfGrid) {
final PdfGridRow tableSummaryRow = pdfGrid.rows.add();
// Resets the column index when creating a new row.
_columnIndex = 0;
if (summaryRow.showSummaryInRow) {
_exportTableSummaryCell(
pdfGrid: pdfGrid,
dataGrid: dataGrid,
summaryRow: summaryRow,
columnSpan: columns.length,
tableSummaryRow: tableSummaryRow);
} else {
int titleColumnCount = summaryRow.titleColumnSpan;
if (titleColumnCount > 0) {
// To consider the exclude columns in the `titleColumnCount`.
titleColumnCount =
getTitleColumnCount(summaryRow, dataGrid.columns, excludeColumns);
if (titleColumnCount > 0) {
_exportTableSummaryCell(
pdfGrid: pdfGrid,
dataGrid: dataGrid,
summaryRow: summaryRow,
columnSpan: titleColumnCount,
tableSummaryRow: tableSummaryRow);
}
}
for (final GridSummaryColumn summaryColumn in summaryRow.columns) {
final GridColumn? column = dataGrid.columns.firstWhereOrNull(
(GridColumn element) =>
element.columnName == summaryColumn.columnName);
final int summaryColumnIndex = getSummaryColumnIndex(
dataGrid.columns, summaryColumn.columnName, excludeColumns);
// Restricts if the column doesn't exist or its column index is less
// than the `titleColumnCount`. because the `titleColumn` summary cell
// has already exported.
if (summaryColumnIndex < 0 || (summaryColumnIndex < titleColumnCount)) {
continue;
}
_exportTableSummaryCell(
column: column,
pdfGrid: pdfGrid,
dataGrid: dataGrid,
summaryRow: summaryRow,
startColumnIndex: summaryColumnIndex,
summaryColumn: summaryColumn,
tableSummaryRow: tableSummaryRow);
}
}
}