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,
});