PaginatedDataTable class Null safety
A Material Design data table that shows data using multiple pages.
A paginated data table shows rowsPerPage rows of data per page and provides controls for showing other pages.
Data is read lazily from a DataTableSource. The widget is presented as a Card.
See also:
- DataTable, which is not paginated.
- material.io/go/design-data-tables#data-tables-tables-within-cards
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- PaginatedDataTable
Constructors
-
PaginatedDataTable({Key? key, Widget? header, List<
Widget> ? actions, required List<DataColumn> columns, int? sortColumnIndex, bool sortAscending = true, ValueSetter<bool?> ? onSelectAll, double dataRowHeight = kMinInteractiveDimension, double headingRowHeight = 56.0, double horizontalMargin = 24.0, double columnSpacing = 56.0, bool showCheckboxColumn = true, bool showFirstLastButtons = false, int? initialFirstRowIndex = 0, ValueChanged<int> ? onPageChanged, int rowsPerPage = defaultRowsPerPage, List<int> availableRowsPerPage = const <int>[defaultRowsPerPage, defaultRowsPerPage * 2, defaultRowsPerPage * 5, defaultRowsPerPage * 10], ValueChanged<int?> ? onRowsPerPageChanged, DragStartBehavior dragStartBehavior = DragStartBehavior.start, Color? arrowHeadColor, required DataTableSource source, double? checkboxHorizontalMargin, ScrollController? controller, bool? primary}) - Creates a widget describing a paginated DataTable on a Card.
Properties
-
actions
→ List<
Widget> ? -
Icon buttons to show at the top end side of the table. The header must
not be null to show the actions.
final
- arrowHeadColor → Color?
-
Defines the color of the arrow heads in the footer.
final
-
availableRowsPerPage
→ List<
int> -
The options to offer for the rowsPerPage.
final
- checkboxHorizontalMargin → double?
-
Horizontal margin around the checkbox, if it is displayed.
final
-
columns
→ List<
DataColumn> -
The configuration and labels for the columns in the table.
final
- columnSpacing → double
-
The horizontal margin between the contents of each data column.
final
- controller → ScrollController?
-
An object that can be used to control the position to which this scroll
view is scrolled.
final
- dataRowHeight → double
-
The height of each row (excluding the row that contains column headings).
final
- dragStartBehavior → DragStartBehavior
-
Determines the way that drag start behavior is handled.
final
- hashCode → int
- The hash code for this object.
- header → Widget?
-
The table card's optional header.
final
- headingRowHeight → double
-
The height of the heading row.
final
- horizontalMargin → double
-
The horizontal margin between the edges of the table and the content
in the first and last cells of each row.
final
- initialFirstRowIndex → int?
-
The index of the first row to display when the widget is first created.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onPageChanged
→ ValueChanged<
int> ? -
Invoked when the user switches to another page.
final
-
onRowsPerPageChanged
→ ValueChanged<
int?> ? -
Invoked when the user selects a different number of rows per page.
final
-
onSelectAll
→ ValueSetter<
bool?> ? -
Invoked when the user selects or unselects every row, using the
checkbox in the heading row.
final
- primary → bool?
-
Whether this is the primary scroll view associated with the parent
PrimaryScrollController.
final
- rowsPerPage → int
-
The number of rows to show on each page.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- showCheckboxColumn → bool
-
Whether the widget should display checkboxes for selectable rows.
final
- showFirstLastButtons → bool
-
Flag to display the pagination buttons to go to the first and last pages.
final
- sortAscending → bool
-
Whether the column mentioned in sortColumnIndex, if any, is sorted
in ascending order.
final
- sortColumnIndex → int?
-
The current primary sort key's column.
final
- source → DataTableSource
-
The data source which provides data to show in each row. Must be non-null.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → PaginatedDataTableState -
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.protected">@protectedinherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
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}) → 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
Operators
-
operator ==(
Object other) → bool -
The equality operator.
nonVirtual">@nonVirtualinherited
Constants
- defaultRowsPerPage → const int
-
The default value for rowsPerPage.
10