BsTable class

A Bootstrap-style table component.

Orientated towards Bootstrap 5.3 specifications. Supports semantic structuring (head, body, foot), contextual variants, and all standard modifiers (striped, hover, active, bordered, borderless, small, responsive).

Example:

BsTable(
  head: BsTableHead(
    rows: [
      BsTableRow(
        children: [
          BsTableCell.header(child: Text('#')),
          BsTableCell.header(child: Text('First')),
          BsTableCell.header(child: Text('Last')),
        ],
      ),
    ],
  ),
  children: [
    BsTableRow(
      children: [
        BsTableCell(child: Text('1')),
        BsTableCell(child: Text('Mark')),
        BsTableCell(child: Text('Otto')),
      ],
    ),
  ],
)
Inheritance
Available extensions

Constructors

BsTable({Key? key, BsTableVariant? variant, bool striped = false, bool stripedColumns = false, bool hover = false, bool bordered = false, bool borderless = false, bool small = false, Widget? caption, bool captionTop = false, BsTableResponsive responsive = BsTableResponsive.always, bool isResponsive = false, BsTableVerticalAlign verticalAlign = BsTableVerticalAlign.top, bool groupDivider = false, Map<int, TableColumnWidth>? columnWidths, TableColumnWidth defaultColumnWidth = const FlexColumnWidth(1.0), TextBaseline? textBaseline, TextDirection? textDirection, BsTableHead? head, BsTableFoot? foot, required List<BsTableRow> children})
Creates a BsTable.
const

Properties

bordered bool
Whether the table should have borders on all sides.
final
borderless bool
Whether the table should have no borders.
final
caption Widget?
An optional caption for the table.
final
captionTop bool
Whether the caption should be placed at the top of the table.
final
children List<BsTableRow>
The table body rows.
final
columnWidths Map<int, TableColumnWidth>?
How the horizontal space should be distributed among the columns.
final
defaultColumnWidth TableColumnWidth
How to determine the width of columns that are not specified in columnWidths.
final
The table foot configuration.
final
groupDivider bool
Whether to add a thicker divider between the table head and body.
final
hashCode int
The hash code for this object.
no setterinherited
The table head configuration.
final
hover bool
Whether rows should have a hover state.
final
isResponsive bool
Whether the table should be responsive (horizontally scrollable).
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
responsive BsTableResponsive
The responsive behavior of the table. Defaults to BsTableResponsive.always if isResponsive is true.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
small bool
Whether the table should be compact (small).
final
striped bool
Whether the table rows should be zebra-striped.
final
stripedColumns bool
Whether the table columns should be zebra-striped.
final
textBaseline TextBaseline?
The text baseline to use when aligning text.
final
textDirection TextDirection?
The direction in which the columns should be laid out.
final
variant BsTableVariant?
The table's base variant (contextual class).
final
verticalAlign BsTableVerticalAlign
The default vertical alignment for all cells in the table.
final

Methods

align(AlignmentGeometry alignment) Widget

Available on Widget, provided by the BsAlignmentExtension extension

Aligns the widget within its parent using the given alignment.
alignBottom() Widget

Available on Widget, provided by the BsAlignmentExtension extension

Aligns the widget to the bottom center of its parent.
alignEnd() Widget

Available on Widget, provided by the BsAlignmentExtension extension

Aligns the widget to the end (right) of its parent.
alignStart() Widget

Available on Widget, provided by the BsAlignmentExtension extension

Aligns the widget to the start (left) of its parent.
alignTop() Widget

Available on Widget, provided by the BsAlignmentExtension extension

Aligns the widget to the top center of its parent.
center() Widget

Available on Widget, provided by the BsAlignmentExtension extension

Centers the widget within its parent.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<BsTable>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
dNone() Widget

Available on Widget, provided by the BsDisplayExtension extension

Convenient alias for gone(true). Maps to Bootstrap's .d-none.
expanded([int flex = 1]) Widget

Available on Widget, provided by the BsSizeExtension extension

Wraps the widget in an Expanded widget.
gone(bool gone) Widget

Available on Widget, provided by the BsDisplayExtension extension

Hides the widget and removes it from the layout if gone is true.
h(double height) Widget

Available on Widget, provided by the BsSizeExtension extension

Sets a fixed height for the widget.
h100() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the height to 100% (double.infinity).
h25() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the height to 25% of parent (FractionallySizedBox).
h50() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the height to 50% of parent (FractionallySizedBox).
h75() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the height to 75% of parent (FractionallySizedBox).
m(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin on all sides.
m1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin of BsSpacing.s1 on all sides.
m2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin of BsSpacing.s2 on all sides.
m3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin of BsSpacing.s3 on all sides.
m4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin of BsSpacing.s4 on all sides.
m5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform margin of BsSpacing.s5 on all sides.
mb(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies margin only to the bottom side.
mb1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom margin of BsSpacing.s1.
mb2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom margin of BsSpacing.s2.
mb3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom margin of BsSpacing.s3.
mb4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom margin of BsSpacing.s4.
mb5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom margin of BsSpacing.s5.
me(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies margin only to the end (right) side.
me1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) margin of BsSpacing.s1.
me2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) margin of BsSpacing.s2.
me3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) margin of BsSpacing.s3.
me4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) margin of BsSpacing.s4.
me5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) margin of BsSpacing.s5.
ms(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies margin only to the start (left) side.
ms1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) margin of BsSpacing.s1.
ms2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) margin of BsSpacing.s2.
ms3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) margin of BsSpacing.s3.
ms4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) margin of BsSpacing.s4.
ms5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) margin of BsSpacing.s5.
mt(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies margin only to the top side.
mt1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top margin of BsSpacing.s1.
mt2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top margin of BsSpacing.s2.
mt3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top margin of BsSpacing.s3.
mt4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top margin of BsSpacing.s4.
mt5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top margin of BsSpacing.s5.
mx(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right).
mx1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right) of BsSpacing.s1.
mx2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right) of BsSpacing.s2.
mx3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right) of BsSpacing.s3.
mx4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right) of BsSpacing.s4.
mx5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal margin (left and right) of BsSpacing.s5.
my(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom).
my1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom) of BsSpacing.s1.
my2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom) of BsSpacing.s2.
my3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom) of BsSpacing.s3.
my4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom) of BsSpacing.s4.
my5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical margin (top and bottom) of BsSpacing.s5.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
opacity(double value) Widget

Available on Widget, provided by the BsDisplayExtension extension

Sets the opacity of the widget.
p(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding on all sides.
p1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding of BsSpacing.s1 on all sides.
p2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding of BsSpacing.s2 on all sides.
p3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding of BsSpacing.s3 on all sides.
p4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding of BsSpacing.s4 on all sides.
p5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies uniform padding of BsSpacing.s5 on all sides.
padding(EdgeInsets value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies custom EdgeInsets as padding.
pb(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies padding only to the bottom side.
pb1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom padding of BsSpacing.s1.
pb2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom padding of BsSpacing.s2.
pb3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom padding of BsSpacing.s3.
pb4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom padding of BsSpacing.s4.
pb5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies bottom padding of BsSpacing.s5.
pe(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies padding only to the end (right) side.
pe1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) padding of BsSpacing.s1.
pe2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) padding of BsSpacing.s2.
pe3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) padding of BsSpacing.s3.
pe4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) padding of BsSpacing.s4.
pe5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies end (right) padding of BsSpacing.s5.
ps(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies padding only to the start (left) side.
ps1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) padding of BsSpacing.s1.
ps2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) padding of BsSpacing.s2.
ps3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) padding of BsSpacing.s3.
ps4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) padding of BsSpacing.s4.
ps5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies start (left) padding of BsSpacing.s5.
pt(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies padding only to the top side.
pt1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top padding of BsSpacing.s1.
pt2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top padding of BsSpacing.s2.
pt3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top padding of BsSpacing.s3.
pt4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top padding of BsSpacing.s4.
pt5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies top padding of BsSpacing.s5.
px(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right).
px1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right) of BsSpacing.s1.
px2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right) of BsSpacing.s2.
px3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right) of BsSpacing.s3.
px4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right) of BsSpacing.s4.
px5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies horizontal padding (left and right) of BsSpacing.s5.
py(double value) Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom).
py1() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom) of BsSpacing.s1.
py2() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom) of BsSpacing.s2.
py3() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom) of BsSpacing.s3.
py4() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom) of BsSpacing.s4.
py5() Widget

Available on Widget, provided by the BsSpacingExtension extension

Applies vertical padding (top and bottom) of BsSpacing.s5.
size100() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets both width and height to 100% (double.infinity). Maps to Bootstrap's .w-100 and .h-100.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited
visible(bool visible) Widget

Available on Widget, provided by the BsDisplayExtension extension

Shows or hides the widget based on visible.
w(double width) Widget

Available on Widget, provided by the BsSizeExtension extension

Sets a fixed width for the widget.
w100() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the width to 100% (double.infinity).
w25() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the width to 25% of parent (FractionallySizedBox).
w50() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the width to 50% of parent (FractionallySizedBox).
w75() Widget

Available on Widget, provided by the BsSizeExtension extension

Sets the width to 75% of parent (FractionallySizedBox).

Operators

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