Skip to content

@serenity-is/sleekgrid / IDataView

Interface: IDataView<TItem>

Defined in: src/core/idataview.ts:10

Minimal data-view contract consumed by the grid. Implemented by DataView.

Type Parameters

TItem

TItem = any

Row item type.

Properties

onDataChanged?

readonly optional onDataChanged: EventEmitter<{ }>

Defined in: src/core/idataview.ts:34

Event fired when the underlying data set changes.


onRowCountChanged?

readonly optional onRowCountChanged: EventEmitter<{ current: number; previous: number; }>

Defined in: src/core/idataview.ts:39

Event fired when the row count changes. Payload is { previous, current } with the counts before and after the change.


onRowsChanged?

readonly optional onRowsChanged: EventEmitter<{ rows: number[]; }>

Defined in: src/core/idataview.ts:44

Event fired when specific view rows change (values or metadata). Payload is { rows } with the list of affected view indices.

Methods

getGrandTotals()

getGrandTotals(): IGroupTotals

Defined in: src/core/idataview.ts:15

Gets grand totals aggregated over the entire data set.

Returns

IGroupTotals

Grand totals object containing sum/avg/min/max, if any.


getItem()

getItem(row): TItem | IGroupTotals<any> | Group<TItem>

Defined in: src/core/idataview.ts:26

Gets the item at the specified view row.

Parameters

row

number

Zero-based view index.

Returns

TItem | IGroupTotals<any> | Group<TItem>

Data item, Group header, or IGroupTotals row.


getItemMetadata()?

optional getItemMetadata(row): ItemMetadata<TItem>

Defined in: src/core/idataview.ts:32

Gets row metadata (CSS classes, per-column overrides) for the specified view row.

Parameters

row

number

Zero-based view index.

Returns

ItemMetadata<TItem>

Metadata object or undefined when none applies.


getLength()

getLength(): number

Defined in: src/core/idataview.ts:20

Gets the total number of rows currently in the view (including group headers/totals).

Returns

number

Row count.