Documentation

@kanunilabs/datagrid-react


@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

readonly events: PivotEventEmitter<GridEventMap<TRow>>

Defined in: datagrid-core/dist/index.d.ts:4427


gridId

readonly gridId: string

Defined in: datagrid-core/dist/index.d.ts:4426


text

readonly text: 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

ColumnState[]

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

GridViewState

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

RowKey

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

RowKey

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

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

RowKey

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

BusyChangedEvent


getCellSpans()

getCellSpans(columnId): readonly CellSpan[]

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

ColumnState[]


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

RowKey

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

RowKey

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

RowKey


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

SelectionDescriptor


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

SortDescriptor[]


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

GridViewState


getVirtualWindow()

getVirtualWindow(): VirtualWindow

Defined in: datagrid-core/dist/index.d.ts:4679

Returns

VirtualWindow


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

RowKey

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

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

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

RowKey

Returns

boolean


isTreeRowExpanded()

isTreeRowExpanded(key): boolean

Defined in: datagrid-core/dist/index.d.ts:5744

Parameters

key

RowKey

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

RowKey

targetKey

RowKey | null

position?

RowDropPosition

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

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

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

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

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

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

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

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

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

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

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

RowKey

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

ColumnPin

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

SortDescriptor[]

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

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

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

RowKey

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

RowKey

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