RenderTable constructor
- int? columns,
- int? rows,
- Map<
int, TableColumnWidth> ? columnWidths, - TableColumnWidth defaultColumnWidth = const FlexColumnWidth(),
- required TextDirection textDirection,
- TableBorder? border,
- List<
Decoration?> ? rowDecorations, - ImageConfiguration configuration = ImageConfiguration.empty,
- TableCellVerticalAlignment defaultVerticalAlignment = TableCellVerticalAlignment.top,
- TextBaseline? textBaseline,
- List<
List< ? children,RenderBox> >
Creates a table render object.
columnsmust either be null or non-negative. Ifcolumnsis null, the number of columns will be inferred from length of the first sublist ofchildren.rowsmust either be null or non-negative. Ifrowsis null, the number of rows will be inferred from thechildren. Ifrowsis not null, thenchildrenmust be null.childrenmust either be null or contain lists of all the same length. ifchildrenis not null, thenrowsmust be null.columnWidthsmay be null, in which case it defaults to an empty map.
Implementation
RenderTable({
int? columns,
int? rows,
Map<int, TableColumnWidth>? columnWidths,
TableColumnWidth defaultColumnWidth = const FlexColumnWidth(),
required TextDirection textDirection,
TableBorder? border,
List<Decoration?>? rowDecorations,
ImageConfiguration configuration = ImageConfiguration.empty,
TableCellVerticalAlignment defaultVerticalAlignment = TableCellVerticalAlignment.top,
TextBaseline? textBaseline,
List<List<RenderBox>>? children,
}) : assert(columns == null || columns >= 0),
assert(rows == null || rows >= 0),
assert(rows == null || children == null),
_textDirection = textDirection,
_columns = columns ?? (children != null && children.isNotEmpty ? children.first.length : 0),
_rows = rows ?? 0,
_columnWidths = columnWidths ?? HashMap<int, TableColumnWidth>(),
_defaultColumnWidth = defaultColumnWidth,
_border = border,
_textBaseline = textBaseline,
_defaultVerticalAlignment = defaultVerticalAlignment,
_configuration = configuration {
_children = <RenderBox?>[]..length = _columns * _rows;
this.rowDecorations = rowDecorations; // must use setter to initialize box painters array
children?.forEach(addRow);
}