DataTable
DataTable
A data table which includes sorting, filtering, pagination, bulk actions, column controls etc.
This is the building block of all data tables in the Dashboard.
Signature
function DataTable<TData>(props: Readonly<DataTableProps<TData>>): void
Parameters
props
parameter
Readonly<DataTableProps<TData>>DataTableProps
Props for configuring the DataTable.
Signature
interface DataTableProps<TData> {
children?: React.ReactNode;
columns: ColumnDef<TData, any>[];
data: TData[];
totalItems: number;
isLoading?: boolean;
page?: number;
itemsPerPage?: number;
sorting?: SortingState;
columnFilters?: ColumnFiltersState;
onPageChange?: (table: TableType<TData>, page: number, itemsPerPage: number) => void;
onSortChange?: (table: TableType<TData>, sorting: SortingState) => void;
onFilterChange?: (table: TableType<TData>, columnFilters: ColumnFilter[]) => void;
onColumnVisibilityChange?: (table: TableType<TData>, columnVisibility: VisibilityState) => void;
onSearchTermChange?: (searchTerm: string) => void;
defaultColumnVisibility?: VisibilityState;
facetedFilters?: { [key: string]: FacetedFilter | undefined };
disableViewOptions?: boolean;
bulkActions?: BulkAction[];
setTableOptions?: (table: TableOptions<TData>) => TableOptions<TData>;
onRefresh?: () => void;
}
children
property
React.ReactNodecolumns
property
ColumnDef<TData, any>[]data
property
TData[]totalItems
property
numberisLoading
property
booleanpage
property
numberitemsPerPage
property
numbersorting
property
SortingStatecolumnFilters
property
ColumnFiltersStateonPageChange
property
(table: TableType<TData>, page: number, itemsPerPage: number) => voidonSortChange
property
(table: TableType<TData>, sorting: SortingState) => voidonFilterChange
property
(table: TableType<TData>, columnFilters: ColumnFilter[]) => voidonColumnVisibilityChange
property
(table: TableType<TData>, columnVisibility: VisibilityState) => voidonSearchTermChange
property
(searchTerm: string) => voiddefaultColumnVisibility
property
VisibilityStatefacetedFilters
property
{ [key: string]: FacetedFilter | undefined }disableViewOptions
property
booleanbulkActions
property
setTableOptions
property
(table: TableOptions<TData>) => TableOptions<TData>This property allows full control over all features of TanStack Table when needed.
onRefresh
property
() => voidDashboardDataTableDisplayComponent
Allows you to define custom display components for specific columns in data tables. The pageId is already defined in the data table extension, so only the column name is needed.
Signature
interface DashboardDataTableDisplayComponent {
column: string;
component: React.ComponentType<DataDisplayComponentProps<CellContext<any, any>>>;
}