HorizontalDataTable class
For sorting issue, will based on the header fixed widget for flexible handling, suggest using Button
to control the data sorting
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- HorizontalDataTable
Constructors
-
HorizontalDataTable({required double leftHandSideColumnWidth, required double rightHandSideColumnWidth, double? tableHeight, bool isFixedHeader = false, List<
Widget> ? headerWidgets, IndexedWidgetBuilder? leftSideItemBuilder, IndexedWidgetBuilder? rightSideItemBuilder, int itemCount = 0, List<Widget> ? leftSideChildren, List<Widget> ? rightSideChildren, Widget rowSeparatorWidget = const Divider(color: Colors.transparent, height: 0.0, thickness: 0.0), double elevation = 3.0, Color elevationColor = Colors.black54, Color leftHandSideColBackgroundColor = Colors.white, Color rightHandSideColBackgroundColor = Colors.white, OnScrollControllerReady? onScrollControllerReady, ScrollbarStyle? verticalScrollbarStyle, ScrollbarStyle? horizontalScrollbarStyle, bool enablePullToRefresh = false, double refreshIndicatorHeight = 60.0, HDTRefreshController? htdRefreshController, Function? onRefresh, Widget? refreshIndicator, Widget? fixedSidePlaceHolderRefreshIndicator, bool enablePullToLoadNewData = false, Function? onLoad, LoadIndicator? loadIndicator, Widget? fixedSidePlaceHolderLoadIndicator, ScrollPhysics? scrollPhysics, ScrollPhysics? horizontalScrollPhysics, bool enableRTL = false, double? itemExtent}) -
const
-
HorizontalDataTable.rtl({required double leftHandSideColumnWidth, required double rightHandSideColumnWidth, double? tableHeight, bool isFixedHeader = false, List<
Widget> ? headerWidgets, Widget leftSideItemBuilder(BuildContext, int)?, Widget rightSideItemBuilder(BuildContext, int)?, int itemCount = 0, List<Widget> ? leftSideChildren, List<Widget> ? rightSideChildren, Widget rowSeparatorWidget = const Divider(color: Colors.transparent, height: 0.0, thickness: 0.0), double elevation = 3.0, Color elevationColor = Colors.black54, Color leftHandSideColBackgroundColor = Colors.white, Color rightHandSideColBackgroundColor = Colors.white, OnScrollControllerReady? onScrollControllerReady, ScrollbarStyle? verticalScrollbarStyle, ScrollbarStyle? horizontalScrollbarStyle, bool enablePullToRefresh = false, double refreshIndicatorHeight = 60.0, HDTRefreshController? htdRefreshController, Function? onRefresh, Widget? refreshIndicator, Widget? fixedSidePlaceHolderRefreshIndicator, bool enablePullToLoadNewData = false, Function? onLoad, LoadIndicator? loadIndicator, LoadIndicator? fixedSidePlaceHolderLoadIndicator, ScrollPhysics? scrollPhysics, ScrollPhysics? horizontalScrollPhysics, double? itemExtent})
Properties
-
bidirectionalSideChildren
→ List<
Widget> ? -
final
- bidirectionalSideColBackgroundColor → Color
-
final
- bidirectionalSideColumnWidth → double
-
final
- bidirectionalSideItemBuilder → IndexedWidgetBuilder?
-
final
- elevation → double
-
Elevation for the shadow of header row and first column after scroll
If don't want to show the shadow, please set it to 0.0
final
- elevationColor → Color
-
final
- enablePullToLoadNewData → bool
-
Flag to indicate whether enable the pull_to_load function
Default is false
final
- enablePullToRefresh → bool
-
Flag to indicate whether enable the pull_to_refresh function
Default is false
final
- enableRTL → bool
-
Enable Right to Left mode
final
-
fixedSideChildren
→ List<
Widget> ? -
Direct create children
final
- fixedSideColBackgroundColor → Color
-
final
- fixedSideColumnWidth → double
-
final
- fixedSideItemBuilder → IndexedWidgetBuilder?
-
final
- fixedSidePlaceHolderLoadIndicator → Widget?
-
Fixed column side load indicator, default using PlaceholderFooter
This will also trigger the onLoad callback and the bi-directional side load action/ui
final
- fixedSidePlaceHolderRefreshIndicator → Widget?
-
Fixed column side refresh indicator, default using PlaceholderHeader
This will also trigger the onRefresh callback and the bi-directional side refresh action/ui
final
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
headerWidgets
→ List<
Widget> ? -
final
- horizontalScrollbarStyle → ScrollbarStyle?
-
Horizontal Scrollbar Style. Default the scrollbar is using that platform's system setting.
final
- horizontalScrollPhysics → ScrollPhysics?
-
Horizontal Scroll physics of the data table
final
- htdRefreshController → HDTRefreshController?
-
This is a wrapper controller for limiting using the available refresh and load new data controller function. Currently only refresh and load fail and complete are implemented.
final
-
if isFixedFooter==true,
HorizontalDataTable.footerWidgets
0
as the fixed side footerfinal - isFixedHeader → bool
-
if isFixedHeader==true,
HorizontalDataTable.headerWidgets
0
as the fixed side headerfinal - itemCount → int
-
Suggest use builder for easier manage, like data update
final
- itemExtent → double?
-
ListView itemExtent. Specifying an itemExtent is more efficient than letting the children determine their own extent because the scrolling machinery can make use of the foreknowledge of the children's extent to save work, for example when the scroll position changes drastically.
When it is non-null, SliverFixedExtentList is used in ListView.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- loadIndicator → LoadIndicator?
-
Support using pull-to-refresh's load indicator
final
- onLoad → Function?
-
Callback for pulled to load more.
Call HDTRefreshController.loadComplete() for finished loading.
Call HDTRefreshController.loadFailed() for error loading.
Call HDTRefreshController.loadNoData() for no more data.
final
- onRefresh → Function?
-
Callback for pulled to refresh.
Call HDTRefreshController.refreshCompleted() for finished refresh loading.
Call HDTRefreshController.refreshFailed() for error refresh loading.
final
- onScrollControllerReady → OnScrollControllerReady?
-
Deprecated, use onScrollControllerReady return instead
Vertical scroll controller, expose for allowing manually jump to specific offset position. Please aware this may conflict with the pull to refresh action.
final ScrollController? verticalScrollController;
Deprecated, use onScrollControllerReady return instead
Horizontal scroll controller, expose for allowing manually jump to specific offset position.
Returning the vertical controller for external usage
final
- refreshIndicator → Widget?
-
Support using pull-to-refresh's refresh indicator
final
- refreshIndicatorHeight → double
-
Support using pull-to-refresh's refresh indicator
Please update the indicator height in order to sync the height when loading.
final
- rowSeparatorWidget → Widget
-
Row Divider
This is apply to all remaining data row of the list view
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollPhysics → ScrollPhysics?
-
Vertical scroll physics of the data table
final
- tableHeight → double?
-
tableHeight is the whole table widget height, including header and table body. This is for those want a shrinkWrap widget to input the calculated table height. If the tableHeight is smaller than the widget available height, the tableHeight is used instead. If the tableHeight is larger than the available height, available height is used.
Default set to null, use up all available space. tableHeight must > 0.
final
- verticalScrollbarStyle → ScrollbarStyle?
-
Vertical Scrollbar Style. Default the scrollbar is using that platform's system setting.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< StatefulWidget> -
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