TableView.list constructor

TableView.list({
  1. Key? key,
  2. bool? primary,
  3. Axis mainAxis = Axis.vertical,
  4. ScrollableDetails verticalDetails = const ScrollableDetails.vertical(),
  5. ScrollableDetails horizontalDetails = const ScrollableDetails.horizontal(),
  6. @Deprecated('Use scrollCacheExtent instead. ' 'This feature was deprecated after v3.41.0-0.0.pre.') double? cacheExtent,
  7. DiagonalDragBehavior diagonalDragBehavior = DiagonalDragBehavior.none,
  8. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  9. ScrollViewKeyboardDismissBehavior? keyboardDismissBehavior,
  10. Clip clipBehavior = Clip.hardEdge,
  11. int pinnedRowCount = 0,
  12. int pinnedColumnCount = 0,
  13. int trailingPinnedRowCount = 0,
  14. int trailingPinnedColumnCount = 0,
  15. required TableSpanBuilder columnBuilder,
  16. required TableSpanBuilder rowBuilder,
  17. List<List<TableViewCell>> cells = const <List<TableViewCell>>[],
  18. AlignmentGeometry alignment = Alignment.topLeft,
})

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,
  this.primary,
  this.mainAxis = Axis.vertical,
  this.verticalDetails = const ScrollableDetails.vertical(),
  this.horizontalDetails = const ScrollableDetails.horizontal(),
  @Deprecated(
    'Use scrollCacheExtent instead. '
    'This feature was deprecated after v3.41.0-0.0.pre.',
  )
  this.cacheExtent,
  this.diagonalDragBehavior = DiagonalDragBehavior.none,
  this.dragStartBehavior = DragStartBehavior.start,
  this.keyboardDismissBehavior,
  this.clipBehavior = Clip.hardEdge,
  int pinnedRowCount = 0,
  int pinnedColumnCount = 0,
  int trailingPinnedRowCount = 0,
  int trailingPinnedColumnCount = 0,
  required TableSpanBuilder columnBuilder,
  required TableSpanBuilder rowBuilder,
  List<List<TableViewCell>> cells = const <List<TableViewCell>>[],
  this.alignment = Alignment.topLeft,
}) : assert(pinnedRowCount >= 0),
     assert(pinnedColumnCount >= 0),
     assert(trailingPinnedRowCount >= 0),
     assert(trailingPinnedColumnCount >= 0),
     delegate = TableCellListDelegate(
       pinnedColumnCount: pinnedColumnCount,
       pinnedRowCount: pinnedRowCount,
       trailingPinnedColumnCount: trailingPinnedColumnCount,
       trailingPinnedRowCount: trailingPinnedRowCount,
       cells: cells,
       columnBuilder: columnBuilder,
       rowBuilder: rowBuilder,
     ),
     _isInternalDelegate = true;