@kanunilabs/datagrid-react / DataGridController
Class: DataGridController<TRow>
Defined in: datagrid-core/dist/index.d.ts:4425
Type Parameters
TRow
TRow = GridRowData
Constructors
Constructor
new DataGridController<
TRow>(config):DataGridController<TRow>
Defined in: datagrid-core/dist/index.d.ts:4611
Parameters
config
DataGridCoreConfig<TRow>
Returns
DataGridController<TRow>
Properties
events
readonlyevents:PivotEventEmitter<GridEventMap<TRow>>
Defined in: datagrid-core/dist/index.d.ts:4427
gridId
readonlygridId:string
Defined in: datagrid-core/dist/index.d.ts:4426
text
readonlytext:GridDictionary
Defined in: datagrid-core/dist/index.d.ts:4434
The grid's language, for engine-produced text (undo labels, validation).
Methods
applyColumnStates()
applyColumnStates(
states):void
Defined in: datagrid-core/dist/index.d.ts:5267
Parameters
states
Returns
void
applyTransaction()
applyTransaction(
transaction):void
Defined in: datagrid-core/dist/index.d.ts:5582
Parameters
transaction
RowTransaction<TRow>
Returns
void
applyTransactionAsync()
applyTransactionAsync(
transaction,callback?):void
Defined in: datagrid-core/dist/index.d.ts:5591
Queue a transaction. Applied with the others in the batch after
asyncTransactionWait milliseconds, or immediately on
flushAsyncTransactions().
The callback fires when the batch it joined has been applied — not when this call returns, which is the whole point.
Parameters
transaction
RowTransaction<TRow>
callback?
() => void
Returns
void
applyViewState()
applyViewState(
view):void
Defined in: datagrid-core/dist/index.d.ts:5554
Restore a snapshot produced by getViewState (unknown columns ignored).
Parameters
view
Returns
void
buildExportModel()
buildExportModel(
options?):ExportModel
Defined in: datagrid-core/dist/index.d.ts:5478
Build the export model from the CURRENT view — sorted, filtered, grouped, visible columns only, formatted values. Pagination is deliberately ignored: users expect "export" to mean the whole result, not the page on screen.
Parameters
options?
ExportOptions
Returns
ExportModel
cancel()
cancel():
void
Defined in: datagrid-core/dist/index.d.ts:5709
Ask the current pipeline pass to stop.
Best-effort and honest about it: the off-thread pass checks between chunks, so a cancel lands at the next boundary rather than instantly, and a pass that has already produced its answer completes. What it reliably kills is work that is queued but not started — the common case when a user keeps typing.
computeToken is bumped so any result still on its way is discarded, which
means calling this is always safe even when nothing is running.
Returns
void
canListDistinctValues()
canListDistinctValues():
boolean
Defined in: datagrid-core/dist/index.d.ts:5205
Whether the header filter checklist can be offered at all.
Client data: always — the rows are right here. Remote data: only when the
DataSource implements loadDistinctValues, because a list built from the
few blocks the grid happens to have cached would be a PARTIAL set the user
would filter against believing it was complete.
Returns
boolean
canRedo()
canRedo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4956
Returns
boolean
canUndo()
canUndo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4955
Whether undo() would do anything — for enabling a toolbar button.
Returns
boolean
chartBasis()
chartBasis(
source?):string
Defined in: datagrid-core/dist/index.d.ts:5414
Fingerprint of everything that can move a chart's numbers, for the given
source. An adapter recomputes when this string changes and NOT otherwise —
which is precisely how a sort (new contentReady, same rows) costs nothing:
aggregation is order-independent, so the basis deliberately excludes it.
Selection is also excluded: 'selection' charts listen to selectionChanged
directly rather than fingerprinting a potentially huge key set.
Parameters
source?
ChartSource
Returns
string
clearColumnFilters()
clearColumnFilters():
void
Defined in: datagrid-core/dist/index.d.ts:5081
Returns
void
clearFocus()
clearFocus():
void
Defined in: datagrid-core/dist/index.d.ts:5008
Returns
void
clearGrouping()
clearGrouping():
void
Defined in: datagrid-core/dist/index.d.ts:5295
Returns
void
clearMeasuredRowHeights()
clearMeasuredRowHeights():
boolean
Defined in: datagrid-core/dist/index.d.ts:5798
Forget every measurement — a column resize invalidates all of them.
Returns
boolean
clearSelection()
clearSelection():
void
Defined in: datagrid-core/dist/index.d.ts:4874
Returns
void
clearSort()
clearSort():
void
Defined in: datagrid-core/dist/index.d.ts:5068
Returns
void
collapseAllDetails()
collapseAllDetails():
void
Defined in: datagrid-core/dist/index.d.ts:5329
Returns
void
collapseAllGroups()
collapseAllGroups():
void
Defined in: datagrid-core/dist/index.d.ts:5299
Returns
void
collapseAllTreeRows()
collapseAllTreeRows():
void
Defined in: datagrid-core/dist/index.d.ts:5750
Returns
void
collapseTreeRow()
collapseTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5746
Parameters
key
Returns
void
computeChartData()
computeChartData(
spec,options?):Promise<ChartModel>
Defined in: datagrid-core/dist/index.d.ts:5403
Aggregate the current data into a chart model.
Which rows, by source:
'view' — filtered + searched rows, BEFORE paging (default);
'selection' — the selected rows, falling back to 'view' when nothing is
selected (a silently empty chart reads as a bug);
'all' — the source rows, ignoring the filter.
Runs off-thread through the worker's aggregate message whenever the grid
itself is worker-backed and the spec has no custom reducer — measured at
33 ms vs 105 ms for a million rows, none of it on the main thread. Falls
back to the row-walking path otherwise, so the answer is always available.
Pending edits: with a pending-value reader installed the worker table holds STALE stored values, so the row path is forced — the chart must agree with the footer, which reads pending values too.
Parameters
spec
ChartSpec<TRow>
options?
source?
ChartSource
Returns
Promise<ChartModel>
dispose()
dispose():
void
Defined in: datagrid-core/dist/index.d.ts:5662
Returns
void
ensureVisible()
ensureVisible(
rowIndex,centerColumnIndex?): {scrollLeft?:number;scrollTop?:number; } |null
Defined in: datagrid-core/dist/index.d.ts:4789
Scroll offsets needed to bring a row/column into view; null if already visible.
Parameters
rowIndex
number
centerColumnIndex?
number
Returns
{ scrollLeft?: number; scrollTop?: number; } | null
executeCommand()
executeCommand(
command):boolean
Defined in: datagrid-core/dist/index.d.ts:5019
Execute a resolved keyboard command. Returning the handled flag lets the adapter decide about preventDefault without duplicating the matrix.
Parameters
command
GridCommand
Returns
boolean
expandAllGroups()
expandAllGroups():
void
Defined in: datagrid-core/dist/index.d.ts:5298
Returns
void
expandAllTreeRows()
expandAllTreeRows():
void
Defined in: datagrid-core/dist/index.d.ts:5749
Returns
void
expandTreeRow()
expandTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5745
Parameters
key
Returns
void
exportToCsv()
exportToCsv(
options?):Promise<ExportResult>
Defined in: datagrid-core/dist/index.d.ts:5541
The file writers report as busy but WITHOUT a percentage, because they have no honest one to report.
A percentage over the row loop was measured to cover 7 % of a large Excel
export's wall time; the other 93 % is one writeBuffer() call that cannot
report anything. A bar that races to full and then sits there for a minute
and a half says the work is over when it has barely started, so the build
gets the spinner and the honest news that it can no longer be interrupted.
CSV is the exception — it is chunked end to end, so cancelling it works.
Parameters
options?
CsvExportOptions
Returns
Promise<ExportResult>
exportToExcel()
exportToExcel(
options?):Promise<ExportResult>
Defined in: datagrid-core/dist/index.d.ts:5542
Parameters
options?
ExcelExportOptions
Returns
Promise<ExportResult>
exportToPdf()
exportToPdf(
options?):Promise<ExportResult>
Defined in: datagrid-core/dist/index.d.ts:5550
Render the current view as a PDF (gap G3).
Fed by the SAME export model as CSV and Excel, so a parity rule that lands
in the model reaches all three at once. jspdf and jspdf-autotable are
optional peers, loaded on first use.
Parameters
options?
PdfExportOptions
Returns
Promise<ExportResult>
flashCells()
flashCells(
target?):void
Defined in: datagrid-core/dist/index.d.ts:5642
Pulse these cells — the "this number just changed" highlight a trading or monitoring grid needs.
Core has no DOM, so this publishes the INTENT and the adapter paints it;
the same split scrollRequested uses. Omitting columnIds flashes the
whole row; omitting rowKeys flashes those columns in every visible row.
Nothing is validated against the current view on purpose: a key that has scrolled out simply matches no cell, and refusing the call would make the caller track the viewport the grid already tracks.
Parameters
target?
columnIds?
readonly string[]
duration?
number
rowKeys?
readonly RowKey[]
Returns
void
flushAsyncTransactions()
flushAsyncTransactions():
void
Defined in: datagrid-core/dist/index.d.ts:5598
Apply everything queued right now.
The escape hatch for the moments a window is wrong: the user pressed something and the answer has to reflect every tick received so far.
Returns
void
focusCell()
focusCell(
rowKey,columnId):void
Defined in: datagrid-core/dist/index.d.ts:5007
Parameters
rowKey
columnId
string
Returns
void
focusRow()
focusRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:4865
Focus a row by key, keeping the column where it is (or taking the first one when nothing was focused yet). Scrolls it into view — focusing a row the user cannot see is not focus.
Parameters
key
Returns
void
forEachDisplayedNode()
forEachDisplayedNode(
callback):void
Defined in: datagrid-core/dist/index.d.ts:4658
What the user can actually scroll to: group headers interleaved, tree rows at their depth, collapsed subtrees absent, and — when paging is on — only the current page.
The index is the row's position in the VIEW, which is what
cellClicked/rowClicked report and what scrollToRow moves to.
Parameters
callback
(node, index) => void
Returns
void
forEachNode()
forEachNode(
callback):void
Defined in: datagrid-core/dist/index.d.ts:4643
Every row the grid was given, in SOURCE order — including rows the current filter hides. The iterator for "walk all my data as the grid sees it".
On a REMOTE grid the source is the server's; only loaded rows can be walked, so this iterates what the block cache currently holds and says so rather than pretending to reach rows nobody fetched.
Parameters
callback
(node, index) => void
Returns
void
forEachNodeAfterFilterAndSort()
forEachNodeAfterFilterAndSort(
callback):void
Defined in: datagrid-core/dist/index.d.ts:4649
The rows that survived the filter, in sort order — data rows only, no group headers. This is what a footer total, an export or a "select all matching" is computed over.
Parameters
callback
(node, index) => void
Returns
void
getBusy()
getBusy():
BusyChangedEvent
Defined in: datagrid-core/dist/index.d.ts:5680
What the grid is doing right now. busy is false when it is idle.
Returns
getCellSpans()
getCellSpans(
columnId): readonlyCellSpan[]
Defined in: datagrid-core/dist/index.d.ts:5815
Merged blocks for one column, over the current view.
Computed on FIRST ASK and cached against the result identity, for two reasons. The pipeline does not know or care about spans, so making it compute them would charge every grid for a feature almost none use; and the renderer asks for the same column many times per frame — once per rendered row — so it has to be a lookup by the second call.
The cache is dropped whole when the result changes, because that is exactly when a sort, a filter or an edit can have moved a block's boundaries.
Parameters
columnId
string
Returns
readonly CellSpan[]
getClipboardText()
getClipboardText(
options?):string
Defined in: datagrid-core/dist/index.d.ts:5024
TSV for the current selection, or for the focused row when nothing is selected. Returns '' when there is nothing to copy.
Parameters
options?
ClipboardOptions
Returns
string
getColumnFilter()
getColumnFilter(
columnId,part?):FilterNode|null
Defined in: datagrid-core/dist/index.d.ts:5080
A column's effective filter, or just the part a given surface owns.
Parameters
columnId
string
part?
string
Returns
FilterNode | null
getColumnIdAt()
getColumnIdAt(
index):string|null
Defined in: datagrid-core/dist/index.d.ts:4695
One visual column position → its id, without building the whole list.
Parameters
index
number
Returns
string | null
getColumnLayout()
getColumnLayout():
ColumnLayout<TRow>
Defined in: datagrid-core/dist/index.d.ts:4680
Returns
ColumnLayout<TRow>
getColumnModel()
getColumnModel():
ColumnModel<TRow>
Defined in: datagrid-core/dist/index.d.ts:4674
Returns
ColumnModel<TRow>
getColumnStates()
getColumnStates():
ColumnState[]
Defined in: datagrid-core/dist/index.d.ts:4675
Returns
getColumnSummary()
getColumnSummary(
columnId):SummaryDef<TRow> |null
Defined in: datagrid-core/dist/index.d.ts:5337
The aggregation a column's footer cell shows, or null when it has none.
Parameters
columnId
string
Returns
SummaryDef<TRow> | null
getComputeTimings()
getComputeTimings():
Record<string,number>
Defined in: datagrid-core/dist/index.d.ts:5720
Where the last pipeline pass spent its time, in milliseconds.
Telemetry, not API: shapes and keys may grow. modelMs covers the row
model (encode + worker + node projection, itemized when the model reports
them); summaryMs the footer reduction; projectViewMs handing the
result to the window engine and listeners.
Returns
Record<string, number>
getDataRowCount()
getDataRowCount():
number
Defined in: datagrid-core/dist/index.d.ts:5331
Data rows only — group headers excluded (what a "row count" should mean).
Returns
number
getDataRowNode()
getDataRowNode(
key):DataRowNode<TRow> |undefined
Defined in: datagrid-core/dist/index.d.ts:4632
The DATA node for a key, in O(1) — the accessor an editing or drag layer needs per row.
Without this the only way to go from a key to a row was to scan
getDataRows(), which is how a grid with a custom footer aggregate ended up
doing rows × rows work on every recompute.
Parameters
key
Returns
DataRowNode<TRow> | undefined
getDataRows()
getDataRows():
DataRowNode<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:4623
Data rows only. Remote grouping puts server-produced headers into the same result, and remote paging leaves holes, so both are filtered out here rather than at every call site.
The array is a SHARED SNAPSHOT, rebuilt when the result changes — treat it
as read-only. Handing out a fresh copy per call is what made resolving one
row by key cost a walk of the whole result; use getRowByKey() for that.
Returns
DataRowNode<TRow>[]
getDetailHeight()
getDetailHeight():
number
Defined in: datagrid-core/dist/index.d.ts:5326
Height of one detail panel in px.
Returns
number
getDistinctValues()
getDistinctValues(
columnId,limit?):object[]
Defined in: datagrid-core/dist/index.d.ts:5141
Distinct display values for a column, collator-sorted — the data behind the header filter popup. Computed over the FULL dataset (not the filtered view) so unchecking a value never makes it disappear from the list.
Parameters
columnId
string
limit?
number
Returns
object[]
getDistinctValuesAsync()
getDistinctValuesAsync(
columnId,limit?):Promise<object[]>
Defined in: datagrid-core/dist/index.d.ts:5214
Distinct values for the header filter popup, whichever data path this grid is on.
The async twin of getDistinctValues, which stays synchronous (and empty
for remote) because it is public API. Adapters should prefer this one: it is
the only version that works for a server-side grid.
Parameters
columnId
string
limit?
number
Returns
Promise<object[]>
getDistinctValueSet()
getDistinctValueSet(
columnId,limit?):object
Defined in: datagrid-core/dist/index.d.ts:5154
The same list, plus whether the scan STOPPED EARLY.
truncated is the part that was missing. A million-row id column yields
limit values and a list that looks complete, so the popup showed 1000 of
1.000.000 with nothing to say otherwise — the user reasonably concluded
that was all the data there was. Whoever renders the list has to be able to
say "and more", and searchDistinctValues is how the rest is reached.
Parameters
columnId
string
limit?
number
Returns
object
entries
entries:
object[]
truncated
truncated:
boolean
getDistinctValueSetAsync()
getDistinctValueSetAsync(
columnId,onProgress?):Promise<{entries:object[];truncated:boolean; }>
Defined in: datagrid-core/dist/index.d.ts:5190
The FULL distinct list — every value, collator-sorted, built in event-loop slices so the main thread never freezes (user requirement, 2026-08-14: the checklist must offer every value, with a loader while it is prepared).
Same collator, same tie order, same first-occurrence values as the synchronous scan — only the schedule differs. Cached until the source rows change, and concurrent calls for the same column share one build. The result reflects the rows as they were when the build STARTED; a build that outlives its data is simply not cached.
Parameters
columnId
string
onProgress?
(fraction) => void
Returns
Promise<{ entries: object[]; truncated: boolean; }>
getEditFormHeight()
getEditFormHeight():
number
Defined in: datagrid-core/dist/index.d.ts:5313
Height of the open form in px — the adapter needs it to size the panel.
Returns
number
getEditFormRow()
getEditFormRow():
RowKey|null
Defined in: datagrid-core/dist/index.d.ts:5311
The row whose form is open in the grid, or null.
Returns
RowKey | null
getEditingCells()
getEditingCells():
object[]
Defined in: datagrid-core/dist/index.d.ts:4998
Cells currently open for editing. One entry for a cell session; every editable cell of the open row for a row/form/popup session; empty otherwise. Reported as cells either way, so a caller can highlight or validate without caring which mode produced them.
Returns
object[]
getEffectiveFilter()
getEffectiveFilter():
FilterNode|null
Defined in: datagrid-core/dist/index.d.ts:5090
Programmatic + column filters combined.
This is the filter as WRITTEN, which is what the filter panel displays — it
still reports the conditions while the filter is switched off, because a
panel that went blank when you unticked it would give you nothing to tick
back on. Use isFilterEnabled() to know whether the pipeline is running it.
Returns
FilterNode | null
getFilter()
getFilter():
FilterNode|null
Defined in: datagrid-core/dist/index.d.ts:4677
Returns
FilterNode | null
getFocus()
getFocus():
FocusPosition|null
Defined in: datagrid-core/dist/index.d.ts:5005
Returns
FocusPosition | null
getFocusedNode()
getFocusedNode():
RowNode<TRow> |undefined
Defined in: datagrid-core/dist/index.d.ts:4855
The view node holding keyboard focus (may be a group header).
Resolved through the row axis (O(1) via the index cache), NOT with
viewNodes.find. Two reasons, both learned the hard way: a linear scan per
keystroke is the O(axis) navigation cost the remote surface was fixed for,
and a REMOTE view is sparse — find visits holes as undefined and
reading .key off one throws.
Returns
RowNode<TRow> | undefined
getFocusedRow()
getFocusedRow():
TRow|undefined
Defined in: datagrid-core/dist/index.d.ts:5065
The focused row's DATA, or undefined for a group header / no focus.
Returns
TRow | undefined
getFocusedRowIndex()
getFocusedRowIndex():
number
Defined in: datagrid-core/dist/index.d.ts:4859
Index of the focused row in the current view, or -1.
Returns
number
getFocusedRowKey()
getFocusedRowKey():
RowKey|null
Defined in: datagrid-core/dist/index.d.ts:4857
Key of the focused row, or null.
Returns
RowKey | null
getFocusIndices()
getFocusIndices(): {
columnIndex:number;rowIndex:number; } |null
Defined in: datagrid-core/dist/index.d.ts:5011
Focused cell as view indices — adapters use this to scroll it into view.
Returns
{ columnIndex: number; rowIndex: number; } | null
getGroupBy()
getGroupBy():
string|null
Defined in: datagrid-core/dist/index.d.ts:5287
Outermost group column, or null — the single-level convenience accessor.
Returns
string | null
getGroupLevels()
getGroupLevels():
string[]
Defined in: datagrid-core/dist/index.d.ts:5277
Grouping levels, outermost first. Empty when not grouping.
Returns
string[]
getGroupSummaries()
getGroupSummaries():
boolean
Defined in: datagrid-core/dist/index.d.ts:5279
Whether group headers currently carry aggregates.
Returns
boolean
getHistoryDepth()
getHistoryDepth():
object
Defined in: datagrid-core/dist/index.d.ts:4958
History sizes, for a UI that shows "Undo (3)". Zeros without an editor.
Returns
object
redo
redo:
number
undo
undo:
number
getMeasuredRowHeights()
getMeasuredRowHeights():
ReadonlyMap<RowKey,number>
Defined in: datagrid-core/dist/index.d.ts:5796
What the adapter last measured, so it can diff instead of re-reporting.
Returns
ReadonlyMap<RowKey, number>
getOverlay()
getOverlay():
"loading"|"noRows"|null
Defined in: datagrid-core/dist/index.d.ts:4758
The overlay an adapter should render, or null for none.
Resolves the override against the grid's own state, so an adapter asks one question instead of reimplementing the precedence.
Returns
"loading" | "noRows" | null
getPage()
getPage():
number
Defined in: datagrid-core/dist/index.d.ts:5456
Returns
number
getPageCount()
getPageCount():
number
Defined in: datagrid-core/dist/index.d.ts:5458
Returns
number
getPageSize()
getPageSize():
number
Defined in: datagrid-core/dist/index.d.ts:5457
Returns
number
getPendingAsyncTransactionCount()
getPendingAsyncTransactionCount():
number
Defined in: datagrid-core/dist/index.d.ts:5600
How many transactions are waiting. Zero when the queue is idle.
Returns
number
getRevealedCount()
getRevealedCount():
number
Defined in: datagrid-core/dist/index.d.ts:5438
Rows revealed so far. Equals the full result once everything is shown.
Returns
number
getRowByKey()
getRowByKey(
key):TRow|undefined
Defined in: datagrid-core/dist/index.d.ts:4634
The row DATA for a key, in O(1). Undefined when no such row is loaded.
Parameters
key
Returns
TRow | undefined
getRowHeight()
getRowHeight():
number
Defined in: datagrid-core/dist/index.d.ts:4698
Returns
number
getRowHeightAt()
getRowHeightAt(
index):number
Defined in: datagrid-core/dist/index.d.ts:5800
Height of one view row, standard or not.
Parameters
index
number
Returns
number
getRowKey()
getRowKey(
row):RowKey
Defined in: datagrid-core/dist/index.d.ts:5623
Key of a row, using whatever resolver the grid was configured with.
Parameters
row
TRow
Returns
getRowKeyField()
getRowKeyField():
string|null
Defined in: datagrid-core/dist/index.d.ts:5621
The field a row's key is read from, or null when rowKey was given as a
function. Used when a NEW row has to carry a key before the server assigns
one; with a function resolver the app has to seed whatever it reads, which
is what onInitNewRow is for.
Returns
string | null
getRowOffset()
getRowOffset(
index):number
Defined in: datagrid-core/dist/index.d.ts:5802
Distance from the top of the first view row to the top of this one.
Parameters
index
number
Returns
number
getRows()
getRows():
RowNode<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:4613
The rendered view: data rows, with group headers interleaved when grouping.
Returns
RowNode<TRow>[]
getSearchText()
getSearchText():
string
Defined in: datagrid-core/dist/index.d.ts:4678
Returns
string
getSelectedCount()
getSelectedCount():
number
Defined in: datagrid-core/dist/index.d.ts:4841
Returns
number
getSelectedKeys()
getSelectedKeys():
RowKey[]
Defined in: datagrid-core/dist/index.d.ts:4835
The selected keys, MATERIALIZED.
Under deferred selection this walks the view to expand "everything
matching" into a list — which is exactly the cost the deferred mode exists
to avoid, so a caller that only needs to describe the selection (to send it
to a server, say) should use getSelectionDescriptor() instead.
Returns
RowKey[]
getSelectedRows()
getSelectedRows():
TRow[]
Defined in: datagrid-core/dist/index.d.ts:4845
Selected rows in current view order (unselected-but-filtered rows excluded).
Returns
TRow[]
getSelectionDescriptor()
getSelectionDescriptor():
SelectionDescriptor
Defined in: datagrid-core/dist/index.d.ts:4840
The selection as a SHAPE rather than a list: { allMatching, keys }.
O(exclusions) even when a million rows are selected.
Returns
getSelectionMode()
getSelectionMode():
SelectionMode
Defined in: datagrid-core/dist/index.d.ts:4824
Returns
SelectionMode
getSort()
getSort():
SortDescriptor[]
Defined in: datagrid-core/dist/index.d.ts:4676
Returns
getSummaries()
getSummaries():
Record<string,number|null>
Defined in: datagrid-core/dist/index.d.ts:5332
Returns
Record<string, number | null>
getSummaryDefs()
getSummaryDefs(): readonly
SummaryDef<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:5334
Current definitions, in the order they were added.
Returns
readonly SummaryDef<TRow>[]
getTotalCount()
getTotalCount():
number
Defined in: datagrid-core/dist/index.d.ts:4673
Returns
number
getViewState()
getViewState():
GridViewState
Defined in: datagrid-core/dist/index.d.ts:5552
Serializable snapshot of everything the user can change.
Returns
getVirtualWindow()
getVirtualWindow():
VirtualWindow
Defined in: datagrid-core/dist/index.d.ts:4679
Returns
getVisibleCenterColumns()
getVisibleCenterColumns():
ColumnRuntime<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:4706
Center columns currently inside the window (pinned blocks render in full).
Returns
ColumnRuntime<TRow>[]
getVisibleCount()
getVisibleCount():
number
Defined in: datagrid-core/dist/index.d.ts:4672
Returns
number
getVisualColumnCount()
getVisualColumnCount():
number
Defined in: datagrid-core/dist/index.d.ts:4697
Number of columns a visual coordinate can address.
Returns
number
getVisualColumnIds()
getVisualColumnIds():
string[]
Defined in: datagrid-core/dist/index.d.ts:4693
Column ids in VISUAL order — pinned-left, then centre, then pinned-right.
The order the user sees, which is what every rectangular operation is expressed in: a cell range, the fill handle, paste, the selection totals.
NOT getColumnModel().runtime(). That one buckets by pin already, so it
looks equivalent — until a column is GROUPED, at which point it leaves the
data area (layoutRuntime) while staying in the model, and every index
from there rightwards names its neighbour. Nothing errors; the wrong
column's values are simply read, or written.
Returns
string[]
groupBy()
groupBy(
groupBy):void
Defined in: datagrid-core/dist/index.d.ts:5292
Group by one column or a list of levels (multi-level is Enterprise — approved decision #4; the engine supports both and the edition gates it).
Parameters
groupBy
string | readonly string[] | null
Returns
void
handleRowClick()
handleRowClick(
key,modifiers?):void
Defined in: datagrid-core/dist/index.d.ts:4876
Standard click contract (plain / ctrl-toggle / shift-range).
Parameters
key
modifiers?
SelectionClickModifiers
Returns
void
hasCellSpans()
hasCellSpans():
boolean
Defined in: datagrid-core/dist/index.d.ts:5817
Whether ANY visible column merges — one check to skip the whole path.
Returns
boolean
hasMasterDetail()
hasMasterDetail():
boolean
Defined in: datagrid-core/dist/index.d.ts:5324
Whether the grid was configured with master-detail at all.
Returns
boolean
hasMoreRows()
hasMoreRows():
boolean
Defined in: datagrid-core/dist/index.d.ts:5440
True while there is more of the result left to reveal.
Returns
boolean
hideOverlay()
hideOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4751
Hand the decision back to the grid.
Returns
void
invalidate()
invalidate():
void
Defined in: datagrid-core/dist/index.d.ts:5625
Drop any cached remote blocks and re-query (no-op for client data).
Returns
void
isAllMatchingSelected()
isAllMatchingSelected():
boolean
Defined in: datagrid-core/dist/index.d.ts:4843
True while the selection is "everything matching the current filter".
Returns
boolean
isBandCollapsed()
isBandCollapsed(
path):boolean
Defined in: datagrid-core/dist/index.d.ts:5261
Parameters
path
string | readonly string[]
Returns
boolean
isBandCollapsible()
isBandCollapsible(
path):boolean
Defined in: datagrid-core/dist/index.d.ts:5263
True when some column under the band declares bandShow.
Parameters
path
string | readonly string[]
Returns
boolean
isCellFocused()
isCellFocused(
rowKey,columnId):boolean
Defined in: datagrid-core/dist/index.d.ts:5006
Parameters
rowKey
columnId
string
Returns
boolean
isDebugMode()
isDebugMode():
boolean
Defined in: datagrid-core/dist/index.d.ts:5322
Whether the app asked to be told when the grid declines to do something.
Read by the ADAPTER, which has refusals of its own to explain — a print layout skipped because the result is too large, say. Without this the adapter would either warn always (noise in production) or never (a feature that silently does nothing).
Returns
boolean
isDetailExpanded()
isDetailExpanded(
rowKey):boolean
Defined in: datagrid-core/dist/index.d.ts:5327
Parameters
rowKey
Returns
boolean
isDisposed()
isDisposed():
boolean
Defined in: datagrid-core/dist/index.d.ts:5661
Returns
boolean
isEditing()
isEditing():
boolean
Defined in: datagrid-core/dist/index.d.ts:5002
Returns
boolean
isEnterpriseEdition()
isEnterpriseEdition():
boolean
Defined in: datagrid-core/dist/index.d.ts:5513
Returns
boolean
isExternalFilterPresent()
isExternalFilterPresent():
boolean
Defined in: datagrid-core/dist/index.d.ts:5118
True when a predicate is installed — AG's isExternalFilterPresent.
Returns
boolean
isFilterEnabled()
isFilterEnabled():
boolean
Defined in: datagrid-core/dist/index.d.ts:5092
Whether the filter is currently being applied.
Returns
boolean
isGroupCollapsed()
isGroupCollapsed(
groupKey):boolean
Defined in: datagrid-core/dist/index.d.ts:5296
Parameters
groupKey
string
Returns
boolean
isInfiniteScroll()
isInfiniteScroll():
boolean
Defined in: datagrid-core/dist/index.d.ts:5436
Returns
boolean
isPaginated()
isPaginated():
boolean
Defined in: datagrid-core/dist/index.d.ts:5453
Returns
boolean
isRemote()
isRemote():
boolean
Defined in: datagrid-core/dist/index.d.ts:5627
True when rows come from a DataSource rather than an array.
Returns
boolean
isRowSelected()
isRowSelected(
key):boolean
Defined in: datagrid-core/dist/index.d.ts:4826
Parameters
key
Returns
boolean
isTreeRowExpanded()
isTreeRowExpanded(
key):boolean
Defined in: datagrid-core/dist/index.d.ts:5744
Parameters
key
Returns
boolean
isUsingWorker()
isUsingWorker():
boolean
Defined in: datagrid-core/dist/index.d.ts:4704
Whether the pipeline is currently running off-thread. False below the worker threshold, without a Worker global (SSR), or after a worker failure dropped the grid back to the main thread. Exposed for diagnostics.
Returns
boolean
moveColumn()
moveColumn(
id,beforeId?):void
Defined in: datagrid-core/dist/index.d.ts:5266
Parameters
id
string
beforeId?
string
Returns
void
moveFocus()
moveFocus(
command):boolean
Defined in: datagrid-core/dist/index.d.ts:5009
Parameters
command
FocusCommand
Returns
boolean
moveRow()
moveRow(
dragKey,targetKey,position?):boolean
Defined in: datagrid-core/dist/index.d.ts:5581
Move a row next to another by hand (row drag & drop).
REFUSES while a sort is active, and says so under debugMode. A manual
order that the sort immediately overrides is a drop that visibly does
nothing — worse than no drag at all, because the user cannot tell whether
it failed or the grid is broken. An app that wants both keeps its own
order field, sorts by it, and updates it from onReorder.
Remote grids refuse too: the server owns the order, so the app persists
the move from onReorder and the grid re-queries.
Returns whether the source array actually changed.
Parameters
dragKey
targetKey
RowKey | null
position?
Returns
boolean
nextPage()
nextPage():
void
Defined in: datagrid-core/dist/index.d.ts:5461
Returns
void
notifyCell()
notifyCell(
name,node,rowIndex,columnId):void
Defined in: datagrid-core/dist/index.d.ts:4878
Publish a cell interaction. Called by the adapter, not by applications.
Parameters
name
"cellClicked" | "cellDoubleClicked" | "cellContextMenu"
node
RowNode<TRow>
rowIndex
number
columnId
string
Returns
void
notifyCellValueChanged()
notifyCellValueChanged(
change):void
Defined in: datagrid-core/dist/index.d.ts:4887
Publish an edit. Called by the adapter (which owns the editing engine), not by applications.
row is resolved HERE rather than passed in, so the payload always carries
the record as the grid currently holds it — the engine knows the pending
value but not the row it belongs to.
Parameters
change
columnId
string
previousValue
unknown
rowKey
source
CellChangeSource
value
unknown
Returns
void
notifyClipboardGesture()
notifyClipboardGesture(
kind,cellCount,run):boolean
Defined in: datagrid-core/dist/index.d.ts:5035
Publish a clipboard or fill gesture as a bracket (P1.9).
Called by whoever performs the gesture — the Community key handler for
copy, the enterprise editing layer for cut/paste/fill — so the events fire
once per gesture regardless of which door it came through, exactly like the
undo/redo bracket. …Start always has a matching …End, even when the
gesture turned out to do nothing: a listener that pauses its own
cellValueChanged handling between them must never be left paused.
Parameters
kind
"cut" | "fill" | "paste" | "copy"
cellCount
number
run
() => boolean
Returns
boolean
notifyEditingStarted()
notifyEditingStarted(
info):void
Defined in: datagrid-core/dist/index.d.ts:4895
Publish an editor opening. Called by the adapter.
Parameters
info
columnId
string
rowKey
value
unknown
Returns
void
notifyEditingStopped()
notifyEditingStopped(
info):void
Defined in: datagrid-core/dist/index.d.ts:4901
Publish an editor closing. Called by the adapter.
Parameters
info
cancelled
boolean
columnId
string
rowKey
value
unknown
Returns
void
notifyHistoryEnded()
notifyHistoryEnded(
kind,info):void
Defined in: datagrid-core/dist/index.d.ts:4921
Publish the close of the bracket, after the replayed cell changes.
Parameters
kind
"undo" | "redo"
info
label
string | null
performed
boolean
Returns
void
notifyHistoryStarted()
notifyHistoryStarted(
kind,label):void
Defined in: datagrid-core/dist/index.d.ts:4919
Publish the opening of an undo/redo bracket. Called by the adapter.
Parameters
kind
"undo" | "redo"
label
string | null
Returns
void
notifyRow()
notifyRow(
name,node,rowIndex):void
Defined in: datagrid-core/dist/index.d.ts:5004
Publish a row interaction. Called by the adapter, not by applications.
Parameters
name
"rowClicked" | "rowDoubleClicked"
node
RowNode<TRow>
rowIndex
number
Returns
void
notifyRowDrag()
notifyRowDrag(
kind,info):void
Defined in: datagrid-core/dist/index.d.ts:4761
rowDragEnter / rowDragMove / rowDragLeave.
Parameters
kind
"enter" | "move" | "leave"
info
fromGridId?
string
overKey?
RowKey | null
position?
"before" | "after" | null
rowKey
Returns
void
notifyRowDragEnd()
notifyRowDragEnd(
info):void
Defined in: datagrid-core/dist/index.d.ts:4768
rowDragEnd — fires for EVERY drag that ends, dropped or abandoned.
Parameters
info
dropped
boolean
fromGridId?
string
overKey?
RowKey | null
position?
"before" | "after" | null
rowKey
Returns
void
notifyRowEditingStarted()
notifyRowEditingStarted(
info):void
Defined in: datagrid-core/dist/index.d.ts:4908
Publish a whole row opening (row / form / popup modes).
Parameters
info
isNew
boolean
rowKey
Returns
void
notifyRowEditingStopped()
notifyRowEditingStopped(
info):void
Defined in: datagrid-core/dist/index.d.ts:4913
Publish the open row closing.
Parameters
info
cancelled
boolean
isNew
boolean
rowKey
Returns
void
previousPage()
previousPage():
void
Defined in: datagrid-core/dist/index.d.ts:5462
Returns
void
redo()
redo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4953
Redo the last undone action. Returns whether anything was redone.
Returns
boolean
refresh()
refresh():
Promise<void>
Defined in: datagrid-core/dist/index.d.ts:5629
Force a pipeline pass (e.g. after mutating derived column definitions).
Returns
Promise<void>
refreshCells()
refreshCells():
void
Defined in: datagrid-core/dist/index.d.ts:5660
Repaint what is on screen WITHOUT re-running the pipeline — for a
valueGetter that reads something outside the row (a live price map, a
permission that just changed) where the rows are the same but what they
should show is not.
Deliberately NOT per-cell, unlike 📘 AG Grid's refreshCells({rowNodes, columns}). That API exists because AG keeps rendered cells around; this
grid virtualizes, so only the window is mounted — "repaint everything
visible" is about twenty rows. Targeting individual cells inside that
would be ceremony with nothing to save, and an API whose cost story is a
lie is worse than one method fewer.
Returns
void
refreshExternalFilter()
refreshExternalFilter():
void
Defined in: datagrid-core/dist/index.d.ts:5126
Re-run the pipeline because what the predicate DEPENDS on moved, even though the predicate itself is the same function.
The common shape: the predicate reads a map's bounds, the user pans, and nothing about the grid has changed — so nothing would have recomputed.
Returns
void
refreshSummaries()
refreshSummaries():
void
Defined in: datagrid-core/dist/index.d.ts:5374
Re-total without re-running the pipeline. Called after an edit, which changes values but neither the sort, the filter nor the row set.
Returns
void
resetColumnState()
resetColumnState():
void
Defined in: datagrid-core/dist/index.d.ts:5273
Back to what the column definitions say: authored widths, pins,
visibility and order. The counterpart of applyColumnStates for the
"reset layout" button every state-persisting app ends up needing.
Returns
void
revealMore()
revealMore():
boolean
Defined in: datagrid-core/dist/index.d.ts:5445
Reveal the next chunk. Called automatically as the user nears the end; public so an app can drive it from its own "Load more" button.
Returns
boolean
revealRow()
revealRow(
rowKey,maxPublications?):void
Defined in: datagrid-core/dist/index.d.ts:4817
Bring a row into view once it EXISTS.
scrollToRow is a no-op for a key the view does not hold, which is right
for a genuinely unknown row and wrong for one that is on its way. Adding a
row goes: transaction → recompute → (worker round trip) → publish, so a
caller that scrolled on the next macrotask was racing the pipeline. It won
at 500 rows and lost at a million — the row was appended far below the
viewport, indexOf returned -1, the scroll was dropped, and the user saw
the button do nothing.
So: scroll now if it is there, otherwise wait for the publication that brings it. Bounded, because a key that never arrives (a filter excludes it) must not leave a listener attached for the life of the grid.
Parameters
rowKey
maxPublications?
number
Returns
void
scrollToCell()
scrollToCell(
rowKey,columnId):void
Defined in: datagrid-core/dist/index.d.ts:4823
Bring a CELL into view — both axes. Tabbing along a row walks off the right edge of the window, and an editor opened on a column that is not rendered has nothing to attach to.
Parameters
rowKey
columnId
string
Returns
void
scrollToRow()
scrollToRow(
rowKey):void
Defined in: datagrid-core/dist/index.d.ts:4801
Bring a row into view by KEY.
The scroll itself belongs to the adapter — core has no DOM — so this
computes the patch and emits it. Without this, addRow() on a 500-row grid
appended a row past the bottom of the window and the user saw the button do
nothing at all.
Parameters
rowKey
Returns
void
searchDistinctValues()
searchDistinctValues(
columnId,needle,limit?):object
Defined in: datagrid-core/dist/index.d.ts:5171
Distinct values whose label CONTAINS needle, scanned over the whole
source rather than over the truncated list.
Without this, searching a truncated list can only ever find what was already loaded: on a million-row id column, typing "999999" matched nothing, because the value exists in the data but not in the first 1000 distinct values. Deliberately uncached — the needle changes on every keystroke, and caching per needle would grow without bound.
Parameters
columnId
string
needle
string
limit?
number
Returns
object
entries
entries:
object[]
truncated
truncated:
boolean
selectAll()
selectAll():
void
Defined in: datagrid-core/dist/index.d.ts:4873
With selection.deferred on this records ONE boolean instead of building a
key set — the difference between instant and a stall at a million rows.
Returns
void
selectRow()
selectRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:4866
Parameters
key
Returns
void
setBandCollapsed()
setBandCollapsed(
path,collapsed):void
Defined in: datagrid-core/dist/index.d.ts:5259
Fold or unfold a band. path is the band's caption path, outermost first.
Parameters
path
string | readonly string[]
collapsed
boolean
Returns
void
setChromeOffsets()
setChromeOffsets(
header,footer):void
Defined in: datagrid-core/dist/index.d.ts:4722
Heights of the sticky blocks inside the scroller — the header stack (bands
- header + filter row) above the rows, and the totals row below them — so scrolling to a row can account for the space they cover.
Parameters
header
number
footer
number
Returns
void
setColumnFilter()
setColumnFilter(
columnId,node,part?):void
Defined in: datagrid-core/dist/index.d.ts:5078
Set (or clear, with null) a single column's filter — the UI entry point.
part lets two surfaces filter ONE column at the same time (gap analysis
P3.7): the filter row writes FILTER_PART_ROW, the header popup writes
FILTER_PART_SET, and the two are ANDed. Omit it to replace whatever the
column had, which is what a programmatic caller means.
Parameters
columnId
string
node
FilterNode | null
part?
string
Returns
void
setColumnPinned()
setColumnPinned(
id,pinned):void
Defined in: datagrid-core/dist/index.d.ts:5264
Parameters
id
string
pinned
Returns
void
setColumns()
setColumns(
columns):void
Defined in: datagrid-core/dist/index.d.ts:5275
Replace the column set (adapters call this when the columns prop changes).
Parameters
columns
GridColumnDef<TRow>[]
Returns
void
setColumnSummary()
setColumnSummary(
columnId,type):void
Defined in: datagrid-core/dist/index.d.ts:5350
Set (or clear, with null) the aggregation for ONE column — what the
footer's right-click menu drives.
Replaces any existing definitions for that column: a footer cell shows one number, so two definitions on the same column would mean the second was computed and never displayed.
When group headers do NOT carry aggregates this takes the cheap path and re-reduces the rows already in hand instead of re-running sort + filter, which the user would feel as a stall on a large grid.
Parameters
columnId
string
type
SummaryType | null
Returns
void
setColumnVisible()
setColumnVisible(
id,visible):void
Defined in: datagrid-core/dist/index.d.ts:5265
Parameters
id
string
visible
boolean
Returns
void
setColumnWidth()
setColumnWidth(
id,width,finished?):void
Defined in: datagrid-core/dist/index.d.ts:5235
finished separates a drag in progress from its end: the header resize
handle reports every pointer move as false and the release as true, so
a layout-persisting listener saves once, not once per pixel. Programmatic
calls are one-shot and default to true.
Parameters
id
string
width
number
finished?
boolean
Returns
void
setData()
setData(
rows):void
Defined in: datagrid-core/dist/index.d.ts:5555
Parameters
rows
TRow[]
Returns
void
setEditFormRow()
setEditFormRow(
rowKey,options?):void
Defined in: datagrid-core/dist/index.d.ts:5306
Open the edit form among the rows, or close it with null.
height is the form's measured (or configured) pixel height, used as
given: the form is one tall row, not a run of row slots.
Parameters
rowKey
RowKey | null
options?
atTop?
boolean
height?
number
Returns
void
setEditingDelegate()
setEditingDelegate(
delegate):void
Defined in: datagrid-core/dist/index.d.ts:4968
Same arrangement as setHistoryDelegate: the editing engine lives in the
enterprise adapter, which registers this while an editable grid is mounted.
Without a delegate the methods answer honestly — nothing opened, nothing
stopped, nothing being edited.
Parameters
delegate
{ getEditingCells: object[]; startEditingCell: boolean; stopEditing: Promise<boolean>; } | null
Returns
void
setEnterpriseEdition()
setEnterpriseEdition(
on):void
Defined in: datagrid-core/dist/index.d.ts:5512
Which edition is driving this controller. Set by the React adapter from the
flag EnterpriseDataGrid passes; Community never turns it on.
The engine keeps the capability either way — the pipeline is one piece and an edition boundary that tried to cut through it would be a fork, not a gate. What the flag decides is what the controller AGREES to do.
Parameters
on
boolean
Returns
void
setExportDefaults()
setExportDefaults(
defaults):void
Defined in: datagrid-core/dist/index.d.ts:5503
Options merged UNDER every export call — explicit arguments still win.
Parameters
defaults
Partial<ExcelExportOptions>
Returns
void
setExternalFilter()
setExternalFilter(
predicate):void
Defined in: datagrid-core/dist/index.d.ts:5116
Set (or clear, with null) the application's own row test. ANDed with the column filters and the search — it narrows, it never widens.
Costs the worker: a function cannot cross postMessage, so a grid with one
set filters and sorts on the main thread whatever the row count, exactly as
a custom comparator does. Prefer setFilter for anything the filter AST
can already say.
The predicate is called during the pass, so it must be PURE and fast — and
when what it closes over changes, call this again (or
refreshExternalFilter()); the grid cannot see a change it has no handle on.
Parameters
predicate
((row) => boolean) | null
Returns
void
setFilter()
setFilter(
filter):void
Defined in: datagrid-core/dist/index.d.ts:5069
Parameters
filter
FilterNode | null
Returns
void
setFilterEnabled()
setFilterEnabled(
enabled):void
Defined in: datagrid-core/dist/index.d.ts:5135
Apply or suspend the filter, keeping every condition.
The filter panel's checkbox. Separate from clearing on purpose: "show me everything for a moment" and "throw away what I built" are different intentions, and a user who has to rebuild three conditions to peek at the unfiltered data will simply not peek.
Parameters
enabled
boolean
Returns
void
setGroupSummaries()
setGroupSummaries(
enabled):void
Defined in: datagrid-core/dist/index.d.ts:5285
Turn per-group aggregates on or off at runtime (the header menu's "group footers"). They are attached during grouping, so the view has to be rebuilt — hence the recompute rather than a repaint.
Parameters
enabled
boolean
Returns
void
setHistoryDelegate()
setHistoryDelegate(
delegate):void
Defined in: datagrid-core/dist/index.d.ts:4935
Let an editing layer answer undo/redo for the controller.
Same arrangement as setPendingValueReader: the editing engine is built by
the enterprise adapter and core never sees it, so the controller cannot
reach the history directly. The adapter registers this while an editable
grid is mounted and clears it on unmount. Without a delegate — Community
build, editing off, unlicensed — the methods below answer honestly:
nothing to undo, nothing done.
Parameters
delegate
{ canRedo: boolean; canUndo: boolean; depth: { redo: number; undo: number; }; redo: boolean; undo: boolean; } | null
Returns
void
setLeadWidth()
setLeadWidth(
px):void
Defined in: datagrid-core/dist/index.d.ts:4727
Width of the leading expander/checkbox columns — the INLINE counterpart to
setChromeOffsets. They are the adapter's, so it has to report them.
Parameters
px
number
Returns
void
setMaxCanvasHeight()
setMaxCanvasHeight(
px):boolean
Defined in: datagrid-core/dist/index.d.ts:4729
Companion to setMaxScrollOffset: the tallest element this browser lays out.
Parameters
px
number
Returns
boolean
setMaxScrollOffset()
setMaxScrollOffset(
px):boolean
Defined in: datagrid-core/dist/index.d.ts:4716
Tell the engine the largest scroll offset this browser honours, once an adapter has measured it.
Only matters past a few hundred thousand rows, where the scroll position of
the last row exceeds what the browser will accept and everything below it
becomes unreachable. See DEFAULT_MAX_SCROLL_OFFSET.
Parameters
px
number
Returns
boolean
setMeasuredRowHeights()
setMeasuredRowHeights(
heights):boolean
Defined in: datagrid-core/dist/index.d.ts:5794
Heights the ADAPTER measured, by row key — autoHeight columns.
By key rather than index because a measurement outlives the sort that produced it; by the adapter rather than here because only it knows how the text wrapped at this column width in this font.
Parameters
heights
ReadonlyMap<RowKey, number>
Returns
boolean
whether the geometry moved, so the caller can skip a re-render.
setPage()
setPage(
page):void
Defined in: datagrid-core/dist/index.d.ts:5459
Parameters
page
number
Returns
void
setPageSize()
setPageSize(
pageSize):void
Defined in: datagrid-core/dist/index.d.ts:5460
Parameters
pageSize
number
Returns
void
setPaginationEnabled()
setPaginationEnabled(
enabled):void
Defined in: datagrid-core/dist/index.d.ts:5455
Switch between paged and continuous virtual scrolling at runtime.
Parameters
enabled
boolean
Returns
void
setPendingValueReader()
setPendingValueReader(
readers):void
Defined in: datagrid-core/dist/index.d.ts:5360
Let an editing layer supply pending cell values to the footer.
Without this the totals read the STORED rows, so in batch mode a user could
change every number in a column and watch the sum sit still — a total that
contradicts the cells above it is worse than no total. Registered by
useGridEditing; null while nothing is editing, which is also the fast
path (no per-cell indirection).
Parameters
readers
Pick<SummaryOptions<TRow>, "effectiveValue" | "effectiveRow"> & object | null
Pick<SummaryOptions<TRow>, "effectiveValue" | "effectiveRow"> & object
null
Returns
void
setRowHeight()
setRowHeight(
rowHeight):void
Defined in: datagrid-core/dist/index.d.ts:4787
Change the fixed row height at runtime (density presets). Goes through the window engine because every offset, the scroll height and the visible range are computed from it — setting a CSS variable alone would leave the virtualizer positioning rows on the old grid.
Parameters
rowHeight
number
Returns
void
setScroll()
setScroll(
scrollTop,scrollLeft):boolean
Defined in: datagrid-core/dist/index.d.ts:4734
Hot path — call on every scroll event. Returns true only when the QUANTIZED window moved, so adapters can skip state updates for sub-row scrolling.
Parameters
scrollTop
number
scrollLeft
number
Returns
boolean
setSearchText()
setSearchText(
searchText):void
Defined in: datagrid-core/dist/index.d.ts:5227
Parameters
searchText
string
Returns
void
setSelectedKeys()
setSelectedKeys(
keys):void
Defined in: datagrid-core/dist/index.d.ts:4868
Parameters
keys
readonly RowKey[]
Returns
void
setSelectionMode()
setSelectionMode(
mode):void
Defined in: datagrid-core/dist/index.d.ts:4825
Parameters
mode
SelectionMode
Returns
void
setSort()
setSort(
sort):void
Defined in: datagrid-core/dist/index.d.ts:5067
Parameters
sort
Returns
void
setSummaryDefs()
setSummaryDefs(
defs):void
Defined in: datagrid-core/dist/index.d.ts:5335
Parameters
defs
SummaryDef<TRow>[]
Returns
void
setViewportSize()
setViewportSize(
width,height):boolean
Defined in: datagrid-core/dist/index.d.ts:4707
Parameters
width
number
height
number
Returns
boolean
showLoadingOverlay()
showLoadingOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4747
Show the busy overlay until hideOverlay(), whatever the grid is doing.
Returns
void
showNoRowsOverlay()
showNoRowsOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4749
Show the empty-result message, whatever the row count says.
Returns
void
sizeColumnsToFit()
sizeColumnsToFit(
options?):void
Defined in: datagrid-core/dist/index.d.ts:5254
Spread the visible columns across the grid's width so they exactly fill it (gap analysis P2.5) — the answer to a grid that leaves a stripe of empty canvas on a wide screen, or overflows on a narrow one.
PROPORTIONAL to the widths already in place, not equal: a column configured at 300 was made wide for a reason, and dividing the space evenly would throw that away every time the window resized.
minWidth / maxWidth are honoured, which is what makes this iterative:
a column that hits its limit stops absorbing space, and the remainder has to
go to the columns that can still take it. The loop is bounded by the column
count — each pass either freezes at least one column or finishes.
Publishes ONE columnStateChanged and no columnResized: this is a bulk
operation, and replaying it as a resize gesture per column would tell a
listener the user dragged twelve handles.
Parameters
options?
skip?
readonly string[]
width?
number
Returns
void
startEditingCell()
startEditingCell(
rowKey,columnId):boolean
Defined in: datagrid-core/dist/index.d.ts:4982
Open the editor on a cell, scrolled into view first — the same path a double-click takes, so an editor can never open somewhere the user cannot see. False when the cell refused (not editable, unknown, or a whole-row session is already open — row modes edit rows, not loose cells).
Parameters
rowKey
columnId
string
Returns
boolean
stopEditing()
stopEditing(
options?):Promise<boolean>
Defined in: datagrid-core/dist/index.d.ts:4989
Close whatever is being edited: commits (or with cancel: true, discards)
the open cell editor OR the open row session. A promise because a row
commit persists through the app's async save; a cell commit resolves
immediately. False when validation refused the commit or nothing was open.
Parameters
options?
cancel?
boolean
Returns
Promise<boolean>
toggleBand()
toggleBand(
path):void
Defined in: datagrid-core/dist/index.d.ts:5260
Parameters
path
string | readonly string[]
Returns
void
toggleDetail()
toggleDetail(
rowKey):void
Defined in: datagrid-core/dist/index.d.ts:5328
Parameters
rowKey
Returns
void
toggleGroup()
toggleGroup(
groupKey):void
Defined in: datagrid-core/dist/index.d.ts:5297
Parameters
groupKey
string
Returns
void
toggleRow()
toggleRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:4867
Parameters
key
Returns
void
toggleSort()
toggleSort(
columnId,additive?):void
Defined in: datagrid-core/dist/index.d.ts:5066
Parameters
columnId
string
additive?
boolean
Returns
void
toggleTreeRow()
toggleTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5747
Parameters
key
Returns
void
undo()
undo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4951
Undo the last edit action (one action = one gesture: a whole paste, not one
cell of it). Returns whether anything was undone. Publishes undoStarted /
undoEnded around the replayed cellValueChanged events — the same bracket
Ctrl+Z produces, because both routes run the same engine method.
Returns
boolean