applyStyle method
Applies the style to all the rows in the grid.
//Create a new PDF document
PdfDocument document = PdfDocument();
//Create a PdfGrid
PdfGrid grid = PdfGrid();
//Add columns to grid
grid.columns.add(count: 3);
//Add headers to grid
grid.headers.add(2);
PdfGridRow header = grid.headers[0];
header.cells[0].value = 'Employee ID';
header.cells[1].value = 'Employee Name';
header.cells[2].value = 'Salary';
//Add rows to grid
PdfGridRow row1 = grid.rows.add();
row1.cells[0].value = 'E01';
row1.cells[1].value = 'Clay';
row1.cells[2].value = '\$10,000';
PdfGridRow row2 = grid.rows.add();
row2.cells[0].value = 'E02';
row2.cells[1].value = 'Simon';
row2.cells[2].value = '\$12,000';
//Set the rows span
grid.rows.setSpan(0, 1, 2, 1);
//Set the row height
row2.height = 20;
//Set the row style
row1.style = PdfGridRowStyle(
backgroundBrush: PdfBrushes.dimGray,
textPen: PdfPens.lightGoldenrodYellow,
textBrush: PdfBrushes.darkOrange,
font: PdfStandardFont(PdfFontFamily.timesRoman, 12));
//Create the PDF grid row style. Assign to whole rows
PdfGridRowStyle rowStyle = PdfGridRowStyle(
backgroundBrush: PdfBrushes.lightGoldenrodYellow,
textPen: PdfPens.indianRed,
textBrush: PdfBrushes.lightYellow,
font: PdfStandardFont(PdfFontFamily.timesRoman, 12));
grid.rows.applyStyle(rowStyle);
//Draw the grid in PDF document page
grid.draw(
page: document.pages.add(), bounds: Rect.zero);
//Save the document.
List<int> bytes = await document.save();
//Dispose the document.
document.dispose();
Implementation
void applyStyle(PdfGridStyleBase style) {
if (style is PdfGridCellStyle) {
for (int i = 0; i < _grid.rows.count; i++) {
final PdfGridRow row = _grid.rows[i];
for (int j = 0; j < row.cells.count; j++) {
row.cells[j].style = style;
}
}
} else if (style is PdfGridRowStyle) {
for (int i = 0; i < _grid.rows.count; i++) {
_grid.rows[i].style = style;
}
} else if (style is PdfGridStyle) {
_grid.style = style;
}
}