Skip to main content

apiRef — imperative control

Pass a ref to get an imperative handle for everything the grid can do — useful for custom toolbars, external buttons, and programmatic control.

import { useRef } from 'react';
import { DataTable, type DataTableApi } from '@ackplus/mui-tanstack-data-grid';

function MyGrid() {
const apiRef = useRef<DataTableApi<User>>(null);
return (
<>
<button onClick={() => apiRef.current?.export.exportCSV()}>Export</button>
<DataTable apiRef={apiRef} columns={columns} data={data} />
</>
);
}

Namespaces

NamespaceMethods (selection)
datarefresh, reload, resetAll, getAllData, updateRow, insertRow, deleteRow, deleteSelectedRows, replaceAllData, …
selectionselectRow, deselectRow, selectAll, deselectAll, getSelectionState, getSelectedRows, getSelectedCount, isRowSelected
sortingsetSorting, sortColumn, clearSorting, resetSorting
paginationgoToPage, nextPage, previousPage, setPageSize, goToFirstPage, goToLastPage
filteringsetGlobalFilter, clearGlobalFilter, setColumnFilters, addColumnFilter, removeColumnFilter, clearAllFilters
columnVisibilityshowColumn, hideColumn, toggleColumn, showAllColumns, hideAllColumns
columnPinningpinColumnLeft, pinColumnRight, unpinColumn, setPinning
columnOrderingsetColumnOrder, moveColumn, resetColumnOrder
columnResizingresizeColumn, resetColumnSizing
layoutsaveLayout, restoreLayout, resetLayout
stategetTableState, getCurrentSorting, getCurrentPagination, getCurrentSelection, getGlobalFilter
exportexportCSV, exportExcel, exportServerData, isExporting, cancelExport
tablegetTable() — the raw TanStack Table instance

saveLayout() / restoreLayout() let you persist column order, sizing, pinning, and visibility (e.g. to localStorage).