AdvancedPaginatedDataTable class

Based on the 'original' data table from the Flutter Dev Team Extended to support async data loading and other changes to be more flexible 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 from a DataTableSource. The widget is presented as a Card.

See also:

Inheritance

Constructors

AdvancedPaginatedDataTable({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, required AdvancedDataTableSource source, double? checkboxHorizontalMargin, bool addEmptyRows = true, GetWidgetCallBack? loadingWidget, GetWidgetCallBack? errorWidget, GetFooterRowText? getFooterRowText, GetFooterCallBack? customTableFooter, Alignment defaultFootAlignment = Alignment.centerRight, bool? showHorizontalScrollbarAlways})
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
addEmptyRows → bool
Add empty/blank lines to the table if not enough records are present If the source doesnt have enough data add empty/blank lines to fill a page Default true
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
customTableFooter → GetFooterCallBack?
Create your own custom Footer control
final
dataRowHeight → double
The height of each row (excluding the row that contains column headings).
final
defaultFootAlignment → Alignment
The alignment for the default footer of the datatable Default CenterRight
final
dragStartBehavior → DragStartBehavior
Determines the way that drag start behavior is handled.
final
errorWidget → GetWidgetCallBack?
Called once the page loading encountered an error in the future If not provided a default message will be shown
final
getFooterRowText → GetFooterRowText?
final
hashCode → int
The hash code for this object.
no setterinherited
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
loadingWidget → GetWidgetCallBack?
Called while the page is loading If not set a default loading will be shown
final
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
rowsPerPage → int
The number of rows to show on each page.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
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
showHorizontalScrollbarAlways → bool?
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 → AdvancedDataTableSource
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.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent 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, 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

Operators

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

Constants

defaultRowsPerPage → const int
The default value for rowsPerPage.