Table constructor
const
Table({
- Key? key,
- required List<
TableRow> rows, - TableSize defaultColumnWidth = const FlexTableSize(),
- TableSize defaultRowHeight = const IntrinsicTableSize(),
- Map<
int, TableSize> ? columnWidths, - Map<
int, TableSize> ? rowHeights, - Clip clipBehavior = Clip.hardEdge,
- TableTheme? theme,
- FrozenTableData? frozenCells,
- double? horizontalOffset,
- double? verticalOffset,
- Size? viewportSize,
Creates a Table widget.
The table displays data organized in rows and cells with flexible sizing and interactive features.
Parameters:
rows
(ListdefaultColumnWidth
(TableSize, default: FlexTableSize()): Default column sizingdefaultRowHeight
(TableSize, default: IntrinsicTableSize()): Default row sizingcolumnWidths
(Map<int, TableSize>?, optional): Column-specific sizesrowHeights
(Map<int, TableSize>?, optional): Row-specific sizesclipBehavior
(Clip, default: Clip.hardEdge): Content clipping behaviortheme
(TableTheme?, optional): Visual styling configurationfrozenCells
(FrozenTableData?, optional): Frozen cell configurationhorizontalOffset
(double?, optional): Horizontal scroll positionverticalOffset
(double?, optional): Vertical scroll positionviewportSize
(Size?, optional): Viewport size constraints
Example:
Table(
rows: [
TableHeader(cells: [TableCell(child: Text('Header'))]),
TableRow(cells: [TableCell(child: Text('Data'))]),
],
columnWidths: {0: FixedTableSize(width: 200)},
);
Implementation
const Table({
super.key,
required this.rows,
this.defaultColumnWidth = const FlexTableSize(),
this.defaultRowHeight = const IntrinsicTableSize(),
this.columnWidths,
this.rowHeights,
this.clipBehavior = Clip.hardEdge,
this.theme,
this.frozenCells,
this.horizontalOffset,
this.verticalOffset,
this.viewportSize,
});