@kanunilabs/datagrid / DataGridController
Interface: DataGridController<TRow>
Defined in: datagrid-core/dist/index.d.ts:4437
Type Parameters
TRow
TRow = GridRowData
Properties
events
readonlyevents:PivotEventEmitter<GridEventMap<TRow>>
Defined in: datagrid-core/dist/index.d.ts:4439
gridId
readonlygridId:string
Defined in: datagrid-core/dist/index.d.ts:4438
text
readonlytext:GridDictionary
Defined in: datagrid-core/dist/index.d.ts:4446
The grid's language, for engine-produced text (undo labels, validation).
Methods
applyColumnStates()
applyColumnStates(
states):void
Defined in: datagrid-core/dist/index.d.ts:5279
Parameters
states
ColumnState[]
Returns
void
applyTransaction()
applyTransaction(
transaction):void
Defined in: datagrid-core/dist/index.d.ts:5594
Parameters
transaction
RowTransaction<TRow>
Returns
void
applyTransactionAsync()
applyTransactionAsync(
transaction,callback?):void
Defined in: datagrid-core/dist/index.d.ts:5603
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:5566
Restore a snapshot produced by getViewState (unknown columns ignored).
Parameters
view
GridViewState
Returns
void
buildExportModel()
buildExportModel(
options?):ExportModel
Defined in: datagrid-core/dist/index.d.ts:5490
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:5721
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:5217
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:4968
Returns
boolean
canUndo()
canUndo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4967
Whether undo() would do anything — for enabling a toolbar button.
Returns
boolean
chartBasis()
chartBasis(
source?):string
Defined in: datagrid-core/dist/index.d.ts:5426
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:5093
Returns
void
clearFocus()
clearFocus():
void
Defined in: datagrid-core/dist/index.d.ts:5020
Returns
void
clearGrouping()
clearGrouping():
void
Defined in: datagrid-core/dist/index.d.ts:5307
Returns
void
clearMeasuredRowHeights()
clearMeasuredRowHeights():
boolean
Defined in: datagrid-core/dist/index.d.ts:5810
Forget every measurement — a column resize invalidates all of them.
Returns
boolean
clearSelection()
clearSelection():
void
Defined in: datagrid-core/dist/index.d.ts:4886
Returns
void
clearSort()
clearSort():
void
Defined in: datagrid-core/dist/index.d.ts:5080
Returns
void
collapseAllDetails()
collapseAllDetails():
void
Defined in: datagrid-core/dist/index.d.ts:5341
Returns
void
collapseAllGroups()
collapseAllGroups():
void
Defined in: datagrid-core/dist/index.d.ts:5311
Returns
void
collapseAllTreeRows()
collapseAllTreeRows():
void
Defined in: datagrid-core/dist/index.d.ts:5762
Returns
void
collapseTreeRow()
collapseTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5758
Parameters
key
Returns
void
computeChartData()
computeChartData(
spec,options?):Promise<ChartModel>
Defined in: datagrid-core/dist/index.d.ts:5415
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:5674
Returns
void
ensureVisible()
ensureVisible(
rowIndex,centerColumnIndex?): {scrollLeft?:number;scrollTop?:number; } |null
Defined in: datagrid-core/dist/index.d.ts:4801
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:5031
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:5310
Returns
void
expandAllTreeRows()
expandAllTreeRows():
void
Defined in: datagrid-core/dist/index.d.ts:5761
Returns
void
expandTreeRow()
expandTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5757
Parameters
key
Returns
void
exportToCsv()
exportToCsv(
options?):Promise<ExportResult>
Defined in: datagrid-core/dist/index.d.ts:5553
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:5554
Parameters
options?
ExcelExportOptions
Returns
Promise<ExportResult>
exportToPdf()
exportToPdf(
options?):Promise<ExportResult>
Defined in: datagrid-core/dist/index.d.ts:5562
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:5654
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:5610
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:5019
Parameters
rowKey
columnId
string
Returns
void
focusRow()
focusRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:4877
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:4670
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:4655
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:4661
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:5692
What the grid is doing right now. busy is false when it is idle.
Returns
BusyChangedEvent
getCellSpans()
getCellSpans(
columnId): readonlyCellSpan[]
Defined in: datagrid-core/dist/index.d.ts:5827
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:5036
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:5092
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:4707
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:4692
Returns
ColumnLayout<TRow>
getColumnModel()
getColumnModel():
ColumnModel<TRow>
Defined in: datagrid-core/dist/index.d.ts:4686
Returns
ColumnModel<TRow>
getColumnStates()
getColumnStates():
ColumnState[]
Defined in: datagrid-core/dist/index.d.ts:4687
Returns
ColumnState[]
getColumnSummary()
getColumnSummary(
columnId):SummaryDef<TRow> |null
Defined in: datagrid-core/dist/index.d.ts:5349
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:5732
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:5343
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:4644
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:4635
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:5338
Height of one detail panel in px.
Returns
number
getDistinctValues()
getDistinctValues(
columnId,limit?):object[]
Defined in: datagrid-core/dist/index.d.ts:5153
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:5226
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:5166
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:5202
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:5325
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:5323
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:5010
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:5102
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:4689
Returns
FilterNode | null
getFocus()
getFocus():
FocusPosition|null
Defined in: datagrid-core/dist/index.d.ts:5017
Returns
FocusPosition | null
getFocusedNode()
getFocusedNode():
RowNode<TRow> |undefined
Defined in: datagrid-core/dist/index.d.ts:4867
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:5077
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:4871
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:4869
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:5023
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:5299
Outermost group column, or null — the single-level convenience accessor.
Returns
string | null
getGroupLevels()
getGroupLevels():
string[]
Defined in: datagrid-core/dist/index.d.ts:5289
Grouping levels, outermost first. Empty when not grouping.
Returns
string[]
getGroupSummaries()
getGroupSummaries():
boolean
Defined in: datagrid-core/dist/index.d.ts:5291
Whether group headers currently carry aggregates.
Returns
boolean
getHistoryDepth()
getHistoryDepth():
object
Defined in: datagrid-core/dist/index.d.ts:4970
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:5808
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:4770
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:5468
Returns
number
getPageCount()
getPageCount():
number
Defined in: datagrid-core/dist/index.d.ts:5470
Returns
number
getPageSize()
getPageSize():
number
Defined in: datagrid-core/dist/index.d.ts:5469
Returns
number
getPendingAsyncTransactionCount()
getPendingAsyncTransactionCount():
number
Defined in: datagrid-core/dist/index.d.ts:5612
How many transactions are waiting. Zero when the queue is idle.
Returns
number
getRevealedCount()
getRevealedCount():
number
Defined in: datagrid-core/dist/index.d.ts:5450
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:4646
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:4710
Returns
number
getRowHeightAt()
getRowHeightAt(
index):number
Defined in: datagrid-core/dist/index.d.ts:5812
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:5635
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:5633
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:5814
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:4625
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:4690
Returns
string
getSelectedCount()
getSelectedCount():
number
Defined in: datagrid-core/dist/index.d.ts:4853
Returns
number
getSelectedKeys()
getSelectedKeys():
RowKey[]
Defined in: datagrid-core/dist/index.d.ts:4847
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:4857
Selected rows in current view order (unselected-but-filtered rows excluded).
Returns
TRow[]
getSelectionDescriptor()
getSelectionDescriptor():
SelectionDescriptor
Defined in: datagrid-core/dist/index.d.ts:4852
The selection as a SHAPE rather than a list: { allMatching, keys }.
O(exclusions) even when a million rows are selected.
Returns
SelectionDescriptor
getSelectionMode()
getSelectionMode():
SelectionMode
Defined in: datagrid-core/dist/index.d.ts:4836
Returns
SelectionMode
getSort()
getSort():
SortDescriptor[]
Defined in: datagrid-core/dist/index.d.ts:4688
Returns
getSummaries()
getSummaries():
Record<string,number|null>
Defined in: datagrid-core/dist/index.d.ts:5344
Returns
Record<string, number | null>
getSummaryDefs()
getSummaryDefs(): readonly
SummaryDef<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:5346
Current definitions, in the order they were added.
Returns
readonly SummaryDef<TRow>[]
getTotalCount()
getTotalCount():
number
Defined in: datagrid-core/dist/index.d.ts:4685
Returns
number
getViewState()
getViewState():
GridViewState
Defined in: datagrid-core/dist/index.d.ts:5564
Serializable snapshot of everything the user can change.
Returns
GridViewState
getVirtualWindow()
getVirtualWindow():
VirtualWindow
Defined in: datagrid-core/dist/index.d.ts:4691
Returns
VirtualWindow
getVisibleCenterColumns()
getVisibleCenterColumns():
ColumnRuntime<TRow>[]
Defined in: datagrid-core/dist/index.d.ts:4718
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:4684
Returns
number
getVisualColumnCount()
getVisualColumnCount():
number
Defined in: datagrid-core/dist/index.d.ts:4709
Number of columns a visual coordinate can address.
Returns
number
getVisualColumnIds()
getVisualColumnIds():
string[]
Defined in: datagrid-core/dist/index.d.ts:4705
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:5304
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:4888
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:5829
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:5336
Whether the grid was configured with master-detail at all.
Returns
boolean
hasMoreRows()
hasMoreRows():
boolean
Defined in: datagrid-core/dist/index.d.ts:5452
True while there is more of the result left to reveal.
Returns
boolean
hideOverlay()
hideOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4763
Hand the decision back to the grid.
Returns
void
invalidate()
invalidate():
void
Defined in: datagrid-core/dist/index.d.ts:5637
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:4855
True while the selection is "everything matching the current filter".
Returns
boolean
isBandCollapsed()
isBandCollapsed(
path):boolean
Defined in: datagrid-core/dist/index.d.ts:5273
Parameters
path
string | readonly string[]
Returns
boolean
isBandCollapsible()
isBandCollapsible(
path):boolean
Defined in: datagrid-core/dist/index.d.ts:5275
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:5018
Parameters
rowKey
columnId
string
Returns
boolean
isDebugMode()
isDebugMode():
boolean
Defined in: datagrid-core/dist/index.d.ts:5334
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:5339
Parameters
rowKey
Returns
boolean
isDisposed()
isDisposed():
boolean
Defined in: datagrid-core/dist/index.d.ts:5673
Returns
boolean
isEditing()
isEditing():
boolean
Defined in: datagrid-core/dist/index.d.ts:5014
Returns
boolean
isEnterpriseEdition()
isEnterpriseEdition():
boolean
Defined in: datagrid-core/dist/index.d.ts:5525
Returns
boolean
isExternalFilterPresent()
isExternalFilterPresent():
boolean
Defined in: datagrid-core/dist/index.d.ts:5130
True when a predicate is installed — AG's isExternalFilterPresent.
Returns
boolean
isFilterEnabled()
isFilterEnabled():
boolean
Defined in: datagrid-core/dist/index.d.ts:5104
Whether the filter is currently being applied.
Returns
boolean
isGroupCollapsed()
isGroupCollapsed(
groupKey):boolean
Defined in: datagrid-core/dist/index.d.ts:5308
Parameters
groupKey
string
Returns
boolean
isInfiniteScroll()
isInfiniteScroll():
boolean
Defined in: datagrid-core/dist/index.d.ts:5448
Returns
boolean
isPaginated()
isPaginated():
boolean
Defined in: datagrid-core/dist/index.d.ts:5465
Returns
boolean
isRemote()
isRemote():
boolean
Defined in: datagrid-core/dist/index.d.ts:5639
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:4838
Parameters
key
Returns
boolean
isTreeRowExpanded()
isTreeRowExpanded(
key):boolean
Defined in: datagrid-core/dist/index.d.ts:5756
Parameters
key
Returns
boolean
isUsingWorker()
isUsingWorker():
boolean
Defined in: datagrid-core/dist/index.d.ts:4716
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:5278
Parameters
id
string
beforeId?
string
Returns
void
moveFocus()
moveFocus(
command):boolean
Defined in: datagrid-core/dist/index.d.ts:5021
Parameters
command
FocusCommand
Returns
boolean
moveRow()
moveRow(
dragKey,targetKey,position?):boolean
Defined in: datagrid-core/dist/index.d.ts:5593
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?
RowDropPosition
Returns
boolean
nextPage()
nextPage():
void
Defined in: datagrid-core/dist/index.d.ts:5473
Returns
void
notifyCell()
notifyCell(
name,node,rowIndex,columnId):void
Defined in: datagrid-core/dist/index.d.ts:4890
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:4899
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:5047
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:4907
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:4913
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:4933
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:4931
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:5016
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:4773
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:4780
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:4920
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:4925
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:5474
Returns
void
redo()
redo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4965
Redo the last undone action. Returns whether anything was redone.
Returns
boolean
refresh()
refresh():
Promise<void>
Defined in: datagrid-core/dist/index.d.ts:5641
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:5672
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:5138
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:5386
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:5285
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:5457
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:4829
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:4835
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:4813
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:5183
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:4885
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:4878
Parameters
key
Returns
void
setBandCollapsed()
setBandCollapsed(
path,collapsed):void
Defined in: datagrid-core/dist/index.d.ts:5271
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:4734
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:5090
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:5276
Parameters
id
string
pinned
ColumnPin
Returns
void
setColumns()
setColumns(
columns):void
Defined in: datagrid-core/dist/index.d.ts:5287
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:5362
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:5277
Parameters
id
string
visible
boolean
Returns
void
setColumnWidth()
setColumnWidth(
id,width,finished?):void
Defined in: datagrid-core/dist/index.d.ts:5247
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:5567
Parameters
rows
TRow[]
Returns
void
setEditFormRow()
setEditFormRow(
rowKey,options?):void
Defined in: datagrid-core/dist/index.d.ts:5318
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:4980
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:5524
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:5515
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:5128
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:5081
Parameters
filter
FilterNode | null
Returns
void
setFilterEnabled()
setFilterEnabled(
enabled):void
Defined in: datagrid-core/dist/index.d.ts:5147
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:5297
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:4947
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:4739
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:4741
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:4728
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:5806
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:5471
Parameters
page
number
Returns
void
setPageSize()
setPageSize(
pageSize):void
Defined in: datagrid-core/dist/index.d.ts:5472
Parameters
pageSize
number
Returns
void
setPaginationEnabled()
setPaginationEnabled(
enabled):void
Defined in: datagrid-core/dist/index.d.ts:5467
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:5372
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:4799
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:4746
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:5239
Parameters
searchText
string
Returns
void
setSelectedKeys()
setSelectedKeys(
keys):void
Defined in: datagrid-core/dist/index.d.ts:4880
Parameters
keys
readonly RowKey[]
Returns
void
setSelectionMode()
setSelectionMode(
mode):void
Defined in: datagrid-core/dist/index.d.ts:4837
Parameters
mode
SelectionMode
Returns
void
setSort()
setSort(
sort):void
Defined in: datagrid-core/dist/index.d.ts:5079
Parameters
sort
Returns
void
setSummaryDefs()
setSummaryDefs(
defs):void
Defined in: datagrid-core/dist/index.d.ts:5347
Parameters
defs
SummaryDef<TRow>[]
Returns
void
setViewportSize()
setViewportSize(
width,height):boolean
Defined in: datagrid-core/dist/index.d.ts:4719
Parameters
width
number
height
number
Returns
boolean
showLoadingOverlay()
showLoadingOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4759
Show the busy overlay until hideOverlay(), whatever the grid is doing.
Returns
void
showNoRowsOverlay()
showNoRowsOverlay():
void
Defined in: datagrid-core/dist/index.d.ts:4761
Show the empty-result message, whatever the row count says.
Returns
void
sizeColumnsToFit()
sizeColumnsToFit(
options?):void
Defined in: datagrid-core/dist/index.d.ts:5266
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:4994
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:5001
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:5272
Parameters
path
string | readonly string[]
Returns
void
toggleDetail()
toggleDetail(
rowKey):void
Defined in: datagrid-core/dist/index.d.ts:5340
Parameters
rowKey
Returns
void
toggleGroup()
toggleGroup(
groupKey):void
Defined in: datagrid-core/dist/index.d.ts:5309
Parameters
groupKey
string
Returns
void
toggleRow()
toggleRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:4879
Parameters
key
Returns
void
toggleSort()
toggleSort(
columnId,additive?):void
Defined in: datagrid-core/dist/index.d.ts:5078
Parameters
columnId
string
additive?
boolean
Returns
void
toggleTreeRow()
toggleTreeRow(
key):void
Defined in: datagrid-core/dist/index.d.ts:5759
Parameters
key
Returns
void
undo()
undo():
boolean
Defined in: datagrid-core/dist/index.d.ts:4963
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