TableView.list constructor

TableView.list({
  1. Key? key,
  2. bool? primary,
  3. Axis mainAxis = Axis.vertical,
  4. ScrollableDetails horizontalDetails = const ScrollableDetails.horizontal(),
  5. ScrollableDetails verticalDetails = const ScrollableDetails.vertical(),
  6. double? cacheExtent,
  7. DiagonalDragBehavior diagonalDragBehavior = DiagonalDragBehavior.none,
  8. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  9. ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
  10. Clip clipBehavior = Clip.hardEdge,
  11. int pinnedRowCount = 0,
  12. int pinnedColumnCount = 0,
  13. required TableSpanBuilder columnBuilder,
  14. required TableSpanBuilder rowBuilder,
  15. List<List<TableViewCell>> cells = const <List<TableViewCell>>[],
})

Creates a TableView from an explicit two dimensional array of children.

This constructor is appropriate for list views with a small number of children because constructing the List requires doing work for every child that could possibly be displayed in the list view instead of just those children that are actually visible.

The children are accessed for each TableVicinity.column and TableVicinity.row of the TwoDimensionalViewport as children[vicinity.column][vicinity.row].

Implementation

TableView.list({
  super.key,
  super.primary,
  super.mainAxis,
  super.horizontalDetails,
  super.verticalDetails,
  super.cacheExtent,
  super.diagonalDragBehavior = DiagonalDragBehavior.none,
  super.dragStartBehavior,
  super.keyboardDismissBehavior,
  super.clipBehavior,
  int pinnedRowCount = 0,
  int pinnedColumnCount = 0,
  required TableSpanBuilder columnBuilder,
  required TableSpanBuilder rowBuilder,
  List<List<TableViewCell>> cells = const <List<TableViewCell>>[],
})  : assert(pinnedRowCount >= 0),
      assert(pinnedColumnCount >= 0),
      super(
        delegate: TableCellListDelegate(
          pinnedColumnCount: pinnedColumnCount,
          pinnedRowCount: pinnedRowCount,
          cells: cells,
          columnBuilder: columnBuilder,
          rowBuilder: rowBuilder,
        ),
      );