SpanningTable class

A table widget that can span pages while preserving rowspan and colspan.

A group of rows connected by SpanningTableCell.rowSpan is always rendered on the same page. If that group is taller than the available page height, SpanningTableOverflowMode.strict throws a SpanningTableException and SpanningTableOverflowMode.clip clips the overflowing content and advances to the next row group.

Inheritance
Mixed-in types

Constructors

SpanningTable({List<SpanningTableRow> children = const <SpanningTableRow>[], TableBorder? border, TableCellVerticalAlignment defaultVerticalAlignment = TableCellVerticalAlignment.top, AlignmentGeometry defaultCellAlignment = Alignment.topLeft, TableColumnWidth defaultColumnWidth = const IntrinsicColumnWidth(), Map<int, TableColumnWidth>? columnWidths, TableWidth tableWidth = TableWidth.max, SpanningTableOverflowMode overflow = SpanningTableOverflowMode.strict, TextDirection? textDirection})
SpanningTable.fromTextArray({Context? context, required List<List> data, EdgeInsetsGeometry cellPadding = const EdgeInsets.all(5), double cellHeight = 0, AlignmentGeometry cellAlignment = Alignment.topLeft, Map<int, AlignmentGeometry>? cellAlignments, TextStyle? cellStyle, TextStyle? oddCellStyle, OnCellFormat? cellFormat, OnCellDecoration? cellDecoration, int headerCount = 1, List? headers, EdgeInsetsGeometry? headerPadding, double? headerHeight, AlignmentGeometry headerAlignment = Alignment.center, Map<int, AlignmentGeometry>? headerAlignments, TextStyle? headerStyle, OnCellFormat? headerFormat, TableBorder? border = const TableBorder(left: BorderSide(), right: BorderSide(), top: BorderSide(), bottom: BorderSide(), horizontalInside: BorderSide(), verticalInside: BorderSide()), Map<int, TableColumnWidth>? columnWidths, TableColumnWidth defaultColumnWidth = const IntrinsicColumnWidth(), TableWidth tableWidth = TableWidth.max, BoxDecoration? headerDecoration, BoxDecoration? headerCellDecoration, BoxDecoration? rowDecoration, BoxDecoration? oddRowDecoration, TextDirection? headerDirection, TextDirection? tableDirection, SpanningTableCellBuilder? cellBuilder, SpanningTableCellTextStyleBuilder? textStyleBuilder, TableCellVerticalAlignment defaultVerticalAlignment = TableCellVerticalAlignment.full, SpanningTableOverflowMode overflow = SpanningTableOverflowMode.strict, TextDirection? textDirection, bool repeatHeaderRows = true})
factory

Properties

border → TableBorder?
final
box ↔ PdfRect?
The bounding box of this widget, calculated at layout time
getter/setter pairinherited
canSpan → bool
no setteroverride
children → List<SpanningTableRow>
final
columnWidths → Map<int, TableColumnWidth>?
final
defaultCellAlignment → AlignmentGeometry
final
defaultColumnWidth → TableColumnWidth
final
defaultVerticalAlignment → TableCellVerticalAlignment
final
hashCode → int
The hash code for this object.
no setterinherited
hasMoreWidgets → bool
no setteroverride
overflow → SpanningTableOverflowMode
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
tableWidth → TableWidth
final
textDirection → TextDirection?
final

Methods

applyContext(covariant WidgetContext context) → void
Called before relayout to restore the saved state and restart the layout in the same conditions
inherited
cloneContext() → WidgetContext
Called after layout to save the state
inherited
debugPaint(Context context) → void
inherited
layout(Context context, BoxConstraints constraints, {bool parentUsesSize = false}) → void
First widget pass to calculate the children layout and bounding box
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paint(Context context) → void
Draw itself and its children, according to the calculated box.offset
override
restoreContext(covariant SpanningTableContext context) → void
Apply the context for next page layout. Called before layout to prepare for next page
override
saveContext() → WidgetContext
Get unmodified mutable context object
override
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited