PagedDataTable<TKey extends Comparable, TResultId extends Comparable, TResult extends Object> constructor
const
PagedDataTable<TKey extends Comparable, TResultId extends Comparable, TResult extends Object> ({
- Future downloadPage({})?,
- String? downloadButtonText,
- IconData? downloadButtonIcon,
- required Future<
(List< fetchPage({}),TResult> , Pagination?)> - required TKey initialPage,
- required List<
BaseTableColumn< columns,TResult> > - required ModelIdGetter<
TResultId, TResult> idGetter, - TextTableFilter? mainFilter,
- List<
TableFilter> ? extraFilters, - List<
Widget> mainMenus = const [], - List<
TableExtraMenu< extraMenus = const [],Object> > - PagedDataTableController<
TKey, TResultId, TResult> ? controller, - Widget? header,
- PagedDataTableThemeData? theme,
- List<
int> ? pageSizes, - int? initialPageSize,
- ErrorBuilder? errorBuilder,
- WidgetBuilder? noItemsFoundBuilder,
- bool rowsSelectable = true,
- bool selectAllInHeader = true,
- CustomRowBuilder<
TResult> ? customRowBuilder, - Stream? refreshListener,
- dynamic onItemTap(
- TResult
- List<
TableAction< tableActions = const [],TResult> > - List<
TableAction< actionsBuilder(TResult> >- TResult item
- bool isFilterBarVisible = true,
- bool isInSnippet = false,
- dynamic actionsTitle(
- TResult
- bool showBorder = false,
- bool showTopBorder = true,
- bool embedded = false,
- bool isFilterBarRounded = true,
- bool hoistFilterBarToShell = false,
- bool showShimmerLoading = true,
- Widget expandedRowBuilder(
- BuildContext context,
- TResult item
- Future<
void> onRowExpanded(- TResult item
- List<
Widget> selectionActionsBuilder(- BuildContext context,
- int selectedCount,
- List<
TResult> selectedItems
- String? title,
- Widget? titleWidget,
- Widget? titleIcon,
- TextStyle? titleStyle,
- Color? titleBackgroundColor,
- List<
Widget> titleActions = const [], - Color? primaryColor,
- bool fillHeight = false,
- bool infiniteScroll = false,
- ScrollController? pageScrollController,
- CLTableStyle? style,
- Key? key,
Implementation
const PagedDataTable({
this.downloadPage,
this.downloadButtonText,
this.downloadButtonIcon,
required this.fetchPage,
required this.initialPage,
required this.columns,
required this.idGetter,
this.mainFilter,
this.extraFilters,
this.mainMenus = const [],
this.extraMenus = const [],
this.controller,
this.header,
this.theme,
this.pageSizes,
this.initialPageSize,
this.errorBuilder,
this.noItemsFoundBuilder,
this.rowsSelectable = true,
this.selectAllInHeader = true,
this.customRowBuilder,
this.refreshListener,
this.onItemTap,
this.tableActions = const [],
this.actionsBuilder,
this.isFooterVisible = true,
this.isFilterBarVisible = true,
this.isInSnippet = false,
this.actionsTitle,
// Foundation: card tabella = L1 + ombra soft, NO border di default (opt-in).
this.showBorder = false,
this.showTopBorder = true,
this.embedded = false,
this.showFooter = true,
this.isFilterBarRounded = true,
this.hoistFilterBarToShell = false,
this.showShimmerLoading = true,
this.expandedRowBuilder,
this.onRowExpanded,
this.selectionActionsBuilder,
this.title,
this.titleWidget,
this.titleIcon,
this.titleStyle,
this.titleBackgroundColor,
this.titleActions = const [],
this.primaryColor,
this.fillHeight = false,
this.infiniteScroll = false,
this.pageScrollController,
this.style,
super.key,
});