allowDragFromClosest
type string · default div.slick-cell.dnd, div.slick-cell.cell-reorder
type string · default div.slick-cell.dnd, div.slick-cell.cell-reorder
type DockingOption · default {
maxColumnViewportWidthPercent: 60,
maxRowViewportHeightPercent: 60,
minCenterRowCount: 3,
overflowStrategy: 'conveyor',
stickyActivationBuffer: 2,
}
type string · default new-row
type boolean · default false
type boolean · default false
type number · default 100
type boolean · default false
type number · default 50
type number · default 40
type boolean
type string · default
type boolean · default false
type boolean · default true
type boolean
type boolean · default true
type boolean
type GridAutosizeColsModeValue · default GridAutosizeColsMode.LegacyOff
type number · default 4
type number · default 0.75
type string · default flashing
type CellMenuOption
type number · default 100
type ColumnPickerOption
type ContextMenuOption
type boolean · default false
type boolean · default false
type boolean · default false
type CustomTooltipOption
type null | ((item: any, columnDef: C) => any) · default null
type number · default 80
type Formatter · default this.defaultFormatter
type false | { ownerNodeIndex?: number; containerClientWidth?: number; }
type boolean · default true
type number · default 300
type boolean · default false
const grid = new SlickGrid('#grid', data, columns, {
editable: true,
autoEdit: false,
});
// give each editable column an `editor`
columns[0].editor = Editors.Text;type (item: any, column: C, command: EditCommand) => void
type null | { getEditor: (col: C) => EditorConstructor; } · default null
type SlickEditorLock · default GlobalEditorLock
type boolean · default true
type boolean · default false
type boolean · default false
type boolean · default false
type boolean
type boolean
type boolean · default true
type boolean · default true
type boolean · default false
type boolean · default false
type boolean · default false
type boolean | ColumnReorderFunction<C> · default true
type string · default unorderable
type boolean · default true
type boolean · default true
type boolean · default false
type ExcelCopyBufferOption
type boolean · default false
type number · default 6000000
type number · default 25
type boolean · default false
type boolean · default false
type { getFormatter: (col: C) => Formatter; } | null · default null
type PinningOption
type boolean · default false
type GridMenuOption
type number · default 25
type boolean · default false
type boolean
type number · default 5000
type number · default 1000000000
type number · default 3
type number
type boolean · default false
type boolean · default false
type boolean · default true
type boolean · default false
type number · default 25
type number | string · default auto
type number · default 25
type number | string · default auto
type boolean · default false
type Array<'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'> · default ['ctrlKey', 'metaKey']
type number · default 25
type (grid: SlickGridModel, row: number, item: any) => number | undefined · default (grid, row) => grid.getItemMetadaWhenExists(row)?.height
type string · default highlight-animate
type number · default 400
type boolean · default false
type boolean
type boolean · default false
type (dirtyHtml: string) => string · default undefined
type number · default 0
type string · default selected
type boolean · default true
type boolean · default true
type boolean · default false
type boolean · default false
type boolean · default false
type boolean · default false
type boolean · default false
type boolean · default false
type ShadowRoot · default undefined
type boolean · default false
type boolean · default false
type boolean
type StickyRows
type boolean · default false
type (error: string) => void · default (error) => alert(error)
type string · default [SlickGrid] Cannot complete pinning because at least one visible center column is required.
type string · default [SlickGrid] Cannot change pinning because it would split a colspan. Pin columns sequentially from the left or right edge.
type string · default [SlickGrid] Cannot pin these columns because they exceed the available grid width.
type number · default 25
type boolean · default false
type string · default undefined
type number
type number
type number
type OnActiveCellChangedEventArgs
{ grid: SlickGrid; cell: number; row: number }
type { grid: SlickGrid }
type OnActivateChangedOptionsEventArgs
{ grid: SlickGrid; options: GridOption }
type OnAddNewRowEventArgs
{ grid: SlickGrid; item: any; column: Column }
type OnAfterSetColumnsEventArgs
{ grid: SlickGrid; newColumns: Column[] }
type OnAutosizeColumnsEventArgs
{ grid: SlickGrid; columns: Column[] }
type OnBeforeCellEditorDestroyEventArgs
{ grid: SlickGrid; editor: Editor }
type OnBeforeColumnsResizeEventArgs
{ grid: SlickGrid; triggeredByColumn: string }
type { grid: SlickGrid }
type OnBeforeEditCellEventArgs
{ grid: SlickGrid; row?: number; cell?: number; item: any; column: Column; target?: 'grid' | 'composite'; compositeEditorOptions?: CompositeEditorOption }
type OnBeforeFooterRowCellDestroyEventArgs
{ grid: SlickGrid; node: HTMLElement; column: Column }
type OnBeforeHeaderCellDestroyEventArgs
{ grid: SlickGrid; node: HTMLElement; column: Column }
type OnBeforeHeaderRowCellDestroyEventArgs
{ grid: SlickGrid; node: HTMLElement; column: Column }
type { row: number; grid: SlickGrid }
type OnBeforeSetColumnsEventArgs
{ grid: SlickGrid; previousColumns: Column[]; newColumns: Column[] }
type SingleColumnSort | MultiColumnSort
{ columnId: string | number; sortAsc: boolean; sortCol?: Column; grid?: SlickGrid; multiColumnSort?: false; previousSortColumns?: ColumnSort[] } | { grid: SlickGrid; multiColumnSort: true; sortCols: ColumnSort[]; previousSortColumns?: ColumnSort[] }
type OnColumnsEventArgs
{ grid: SlickGrid; columns: Column[] }
type OnColumnsEventArgs
{ grid: SlickGrid; columns: Column[] }
type OnCellChangeEventArgs
{ grid: SlickGrid; row: number; cell: number; item: any; column: Column }
type OnCellCssStylesChangedEventArgs
{ grid: SlickGrid; key: string; hash: CssStyleHash }
type OnClickEventArgs
{ grid: SlickGrid; row: number; cell: number }
type OnColumnsReorderedEventArgs
{ grid: SlickGrid; impactedColumns: Column[]; previousColumnOrder: Array<string | number> }
type OnColumnsDragEventArgs
{ grid: SlickGrid; triggeredByColumn: string; resizeHandle: HTMLDivElement }
type OnColumnsResizedEventArgs
{ grid: SlickGrid; triggeredByColumn: string }
type OnColumnsResizeDblClickEventArgs
{ grid: SlickGrid; triggeredByColumn: string }
type OnCompositeEditorChangeEventArgs
{ grid: SlickGrid; row?: number; cell?: number; item: any; column: Column; formValues: any; editors: { [columnId: string]: Editor; }; triggeredBy?: 'user' | 'system' }
type MenuCommandItemCallbackArgs
{ cell?: number; row?: number; grid: SlickGrid; column: Column<T>; dataContext?: T; command: string; item: MenuCommandItem; value?: any }
type OnDblClickEventArgs
{ grid: SlickGrid; row: number; cell: number }
type DragRowMove
{ available: any[]; canMove: boolean; clonedSlickRow: HTMLElement; deltaX: number; deltaY: number; drag: HTMLElement; drop: any[]; grid: SlickGrid; guide: HTMLElement; insertBefore: number; offsetX: number; offsetY: number; originalX: number; originalY: number; proxy: HTMLElement; selectionProxy: HTMLElement; target: HTMLElement; selectedRows: number[]; startX: number; startY: number; range: DragRange; matchClassTag: string }
type DragRowMove
{ available: any[]; canMove: boolean; clonedSlickRow: HTMLElement; deltaX: number; deltaY: number; drag: HTMLElement; drop: any[]; grid: SlickGrid; guide: HTMLElement; insertBefore: number; offsetX: number; offsetY: number; originalX: number; originalY: number; proxy: HTMLElement; selectionProxy: HTMLElement; target: HTMLElement; selectedRows: number[]; startX: number; startY: number; range: DragRange; matchClassTag: string }
type DragRowMove
{ available: any[]; canMove: boolean; clonedSlickRow: HTMLElement; deltaX: number; deltaY: number; drag: HTMLElement; drop: any[]; grid: SlickGrid; guide: HTMLElement; insertBefore: number; offsetX: number; offsetY: number; originalX: number; originalY: number; proxy: HTMLElement; selectionProxy: HTMLElement; target: HTMLElement; selectedRows: number[]; startX: number; startY: number; range: DragRange; matchClassTag: string }
type DragRowMove
{ available: any[]; canMove: boolean; clonedSlickRow: HTMLElement; deltaX: number; deltaY: number; drag: HTMLElement; drop: any[]; grid: SlickGrid; guide: HTMLElement; insertBefore: number; offsetX: number; offsetY: number; originalX: number; originalY: number; proxy: HTMLElement; selectionProxy: HTMLElement; target: HTMLElement; selectedRows: number[]; startX: number; startY: number; range: DragRange; matchClassTag: string }
type OnFooterClickEventArgs
{ grid: SlickGrid; column: Column }
type OnFooterContextMenuEventArgs
{ grid: SlickGrid; column: Column }
type OnFooterRowCellRenderedEventArgs
{ grid: SlickGrid; node: HTMLDivElement; column: Column }
type OnHeaderCellRenderedEventArgs
{ grid: SlickGrid; node: HTMLDivElement; column: Column }
type OnHeaderClickEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderContextMenuEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderKeyDownEventArgs
{ grid: SlickGrid; event: KeyboardEvent; column: Column }
type OnHeaderRowCellRenderedEventArgs
{ grid: SlickGrid; node: HTMLDivElement; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnKeyDownEventArgs
{ grid: SlickGrid; row: number; cell: number }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnHeaderMouseEventArgs
{ grid: SlickGrid; column: Column }
type OnPreHeaderClickEventArgs
{ grid: SlickGrid; node: HTMLElement }
type OnPreHeaderContextMenuEventArgs
{ grid: SlickGrid; node: HTMLElement }
type OnRenderedEventArgs
{ grid: SlickGrid; startRow: number; endRow: number }
type OnScrollEventArgs
{ grid: SlickGrid; scrollLeft: number; scrollTop: number; cell: number; row: number }
type OnSelectedRowsChangedEventArgs
{ grid: SlickGrid; rows: number[]; previousSelectedRows: number[]; changedSelectedRows: number[]; changedUnselectedRows: number[]; caller: string }
type OnSetOptionsEventArgs
{ grid: SlickGrid; optionsBefore: GridOption; optionsAfter: GridOption }
type SingleColumnSort | MultiColumnSort
{ columnId: string | number; sortAsc: boolean; sortCol?: Column; grid?: SlickGrid; multiColumnSort?: false; previousSortColumns?: ColumnSort[] } | { grid: SlickGrid; multiColumnSort: true; sortCols: ColumnSort[]; previousSortColumns?: ColumnSort[] }
grid.onSort.subscribe((e, args) => {
const cols = args.sortCols ?? [{ sortCol: args.sortCol, sortAsc: args.sortAsc }];
dataView.sort((a, b) => {
for (const { sortCol, sortAsc } of cols) {
const dir = sortAsc ? 1 : -1;
const x = a[sortCol.field], y = b[sortCol.field];
if (x !== y) return (x > y ? 1 : -1) * dir;
}
return 0;
});
});type OnValidationErrorEventArgs
{ grid: SlickGrid; row: number; cell: number; validationResults: EditorValidationResult; column: Column; editor: Editor; cellNode: HTMLDivElement }
type { grid: SlickGrid }
type OnDragReplaceCellsEventArgs
{ grid: SlickGrid; prevSelectedRange: SlickRange; selectedRange: SlickRange; copyToRange: SlickCopyRange }
init(): voidreturns void
cacheCssForHiddenInit(): voidreturns void
registerPlugin(plugin: T): voidimport { SlickCellMenu } from 'slickgrid';
grid.registerPlugin(new SlickCellMenu({ /* options */ }));| Parameter | Type | Description |
|---|---|---|
plugin | T | - The plugin instance to be registered. |
returns void
unregisterPlugin(plugin: SlickPlugin): void| Parameter | Type | Description |
|---|---|---|
plugin | SlickPlugin | - The plugin instance to be registered. |
returns void
destroy(shouldDestroyAllElements?: boolean): void| Parameter | Type | Description |
|---|---|---|
shouldDestroyAllElements? | boolean | - do we want to destroy (nullify) all DOM elements as well? This help in avoiding mem leaks |
returns void
getOptions(): Oreturns O
setOptions(newOptions: Partial<O>, suppressRender?: boolean, suppressColumnSet?: boolean, suppressSetOverflow?: boolean): void| Parameter | Type | Description |
|---|---|---|
newOptions | Partial<O> | |
suppressRender? | boolean | - do we want to supress the grid re-rendering? (defaults to false) |
suppressColumnSet? | boolean | - do we want to supress the columns set, via "setColumns()" method? (defaults to false) |
suppressSetOverflow? | boolean | - do we want to suppress the call to `setOverflow` |
returns void
activateChangedOptions(suppressRender?: boolean, suppressColumnSet?: boolean, suppressSetOverflow?: boolean): void| Parameter | Type | Description |
|---|---|---|
suppressRender? | boolean | - do we want to supress the grid re-rendering? (defaults to false) |
suppressColumnSet? | boolean | - do we want to supress the columns set, via "setColumns()" method? (defaults to false) |
suppressSetOverflow? | boolean | - do we want to suppress the call to `setOverflow` |
returns void
validateAndEnforceOptions(): voidreturns void
setSelectionModel(model: SelectionModel): void| Parameter | Type | Description |
|---|---|---|
model | SelectionModel |
returns void
getSelectionModel(): T | undefinedreturns T | undefined
updateColumnHeader(columnId: number | string, title?: string | HTMLElement | DocumentFragment, toolTip?: string): HTMLElement | void| Parameter | Type | Description |
|---|---|---|
columnId | number | string | Column id. |
title? | string | HTMLElement | DocumentFragment | New column name. |
toolTip? | string | New column tooltip. |
returns HTMLElement | void
getHeader(columnDef?: C): HTMLDivElement | HTMLDivElement[]| Parameter | Type | Description |
|---|---|---|
columnDef? | C | - column definition |
returns HTMLDivElement | HTMLDivElement[]
getHeaderColumn(columnIdOrIdx: number | string): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
columnIdOrIdx | number | string | - column Id or index |
returns HTMLDivElement
getHeaderRow(): HTMLDivElement | HTMLDivElement[]returns HTMLDivElement | HTMLDivElement[]
getFooterRow(): HTMLDivElement | HTMLDivElement[]returns HTMLDivElement | HTMLDivElement[]
getHeaderRowColumn(columnIdOrIdx: number | string): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
columnIdOrIdx | number | string | - column Id or index |
returns HTMLDivElement
getFooterRowColumn(columnIdOrIdx: number | string): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
columnIdOrIdx | number | string | - column Id or index |
returns HTMLDivElement
autosizeColumn(columnOrIndexOrId: number | string, isInit?: boolean)| Parameter | Type | Description |
|---|---|---|
columnOrIndexOrId | number | string | |
isInit? | boolean |
autosizeColumns(autosizeMode?: GridAutosizeColsModeValue, isInit?: boolean)| Parameter | Type | Description |
|---|---|---|
autosizeMode? | GridAutosizeColsModeValue | |
isInit? | boolean |
reRenderColumns(reRender?: boolean)| Parameter | Type | Description |
|---|---|---|
reRender? | boolean |
getVisibleColumns(): C[]returns C[]
getVisibleColumnIndex(id: number | string): number| Parameter | Type | Description |
|---|---|---|
id | number | string |
returns number
getColumnById(id: number | string): C | null| Parameter | Type | Description |
|---|---|---|
id | number | string |
returns C | null
updateColumnById(columnId: number | string, props: Partial<C>, forceColumnUpdate?): void| Parameter | Type | Description |
|---|---|---|
columnId | number | string | |
props | Partial<C> | |
forceColumnUpdate? | |
returns void
getColumnIndex(id: number | string): number| Parameter | Type | Description |
|---|---|---|
id | number | string | A column id. |
returns number
setSortColumn(columnId: number | string, ascending: boolean): void| Parameter | Type | Description |
|---|---|---|
columnId | number | string | |
ascending | boolean |
returns void
getColumnByIndex(idx: number): HTMLElement | undefined| Parameter | Type | Description |
|---|---|---|
idx | number |
returns HTMLElement | undefined
setSortColumns(cols: ColumnSort[]): void| Parameter | Type | Description |
|---|---|---|
cols | ColumnSort[] | - column sort |
returns void
getColumns(): C[]returns C[]
getSortColumns(): ColumnSort[]returns ColumnSort[]
setColumns(newColumns: C[], waitNextCycle?): booleanconst widths = Object.fromEntries(grid.getColumns().map((c) => [c.id, c.width]));
for (const c of nextColumns) c.width = widths[c.id] ?? c.width;
grid.setColumns(nextColumns);| Parameter | Type | Description |
|---|---|---|
newColumns | C[] | An array of column definitions. |
waitNextCycle? | | - should we wait for a microtask cycle before updating column headers |
returns boolean
updateColumns(): voidreturns void
getEditorLock()getEditController(): EditController | undefinedreturns EditController | undefined
setData(newData: CustomDataView<TData> | TData[], scrollToTop?: boolean): void| Parameter | Type | Description |
|---|---|---|
newData | CustomDataView<TData> | TData[] | New databinding source using a regular JavaScript array.. or a custom object exposing getItem(index) and getLength() functions. |
scrollToTop? | boolean | If true, the grid will reset the vertical scroll position to the top of the grid. |
returns void
getDataLength(): numberreturns number
getDataItem(i: number): TData| Parameter | Type | Description |
|---|---|---|
i | number |
returns TData
getCellValue(i: number, field: string): TData[keyof TData]| Parameter | Type | Description |
|---|---|---|
i | number | Item row index. |
field | string | Column field name. |
returns TData[keyof TData]
hasDataView(): booleanreturns boolean
getItemMetadaWhenExists(row: number): ItemMetadata | null| Parameter | Type | Description |
|---|---|---|
row | number |
returns ItemMetadata | null
resetActiveCell(): voidreturns void
unsetActiveCell(): voidreturns void
focus(): voidgrid.setActiveCell(0, 0);
grid.focus();returns void
editActiveCell(editor?: Editor | EditorConstructor, preClickModeOn?: boolean | null, e?: Event): void| Parameter | Type | Description |
|---|---|---|
editor? | Editor | EditorConstructor | |
preClickModeOn? | boolean | null | |
e? | Event |
returns void
getSelectedRows(): number[]returns number[]
setSelectedRows(rows: number[], caller?: string): void| Parameter | Type | Description |
|---|---|---|
rows | number[] | |
caller? | string | - an optional string to identify who called the method |
returns void
getCellFromEvent(evt: Event | SlickEventData_): { row: number; cell: number } | null| Parameter | Type | Description |
|---|---|---|
evt | Event | SlickEventData_ |
returns { row: number; cell: number } | null
applyHtmlCode(target: HTMLElement, val?: boolean | string | HTMLElement | DocumentFragment | null | undefined, options?: { emptyTarget?: boolean; skipEmptyReassignment?: boolean }): void| Parameter | Type | Description |
|---|---|---|
target | HTMLElement | - target element to apply to |
val? | boolean | string | HTMLElement | DocumentFragment | null | undefined | - input value can be either a string or an HTMLElement |
options? | { emptyTarget?: boolean; skipEmptyReassignment?: boolean } | - `emptyTarget`, defaults to true, will empty the target. `skipEmptyReassignment`, defaults to true, when enabled it will not try to reapply an empty value when the target is already empty |
returns void
getCanvasNode(_columnIdOrIdx?: number | string, _rowIndex?: number): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
_columnIdOrIdx? | number | string | |
_rowIndex? | number |
returns HTMLDivElement
getActiveCanvasNode(e?: Event | SlickEventData_): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
e? | Event | SlickEventData_ |
returns HTMLDivElement
getCanvases(): HTMLDivElement[]returns HTMLDivElement[]
getViewportNode(_columnIdOrIdx?: number | string, _rowIndex?: number): HTMLElement | undefined| Parameter | Type | Description |
|---|---|---|
_columnIdOrIdx? | number | string | |
_rowIndex? | number |
returns HTMLElement | undefined
getViewports(): HTMLDivElement[]returns HTMLDivElement[]
getActiveViewportNode(e: Event | SlickEventData_): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
e | Event | SlickEventData_ |
returns HTMLDivElement
setActiveViewportNode(e: Event | SlickEventData_): HTMLDivElement| Parameter | Type | Description |
|---|---|---|
e | Event | SlickEventData_ |
returns HTMLDivElement
getHeadersWidth(): numberreturns number
getCanvasWidth(): numberreturns number
getPreHeaderPanel(): HTMLDivElementconst panel = grid.getPreHeaderPanel();
panel.textContent = 'Q1 2026';returns HTMLDivElement
getPreHeaderPanelLeft(): HTMLDivElementreturns HTMLDivElement
getPreHeaderPanelRight(): HTMLDivElementreturns HTMLDivElement
getTopHeaderPanel(): HTMLDivElementreturns HTMLDivElement
getTopPanel(): HTMLDivElementreturns HTMLDivElement
getTopPanels(): HTMLDivElement[]returns HTMLDivElement[]
setTopPanelVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if top panel is visible or not |
animate? | boolean |
returns void
setHeaderRowVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if header row panel is visible or not |
animate? | boolean |
returns void
setColumnHeaderVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if column header is visible or not |
animate? | boolean |
returns void
setFooterRowVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if footer row panel is visible or not |
animate? | boolean |
returns void
setPreHeaderPanelVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if pre-header panel is visible or not |
animate? | boolean |
returns void
setTopHeaderPanelVisibility(visible?: boolean, animate?: boolean): void| Parameter | Type | Description |
|---|---|---|
visible? | boolean | - optionally set if top-header panel is visible or not |
animate? | boolean |
returns void
getRowHeight(row?: number): number| Parameter | Type | Description |
|---|---|---|
row? | number | - The row index. When omitted the default row height is returned. |
returns number
getRowTop(row: number): number| Parameter | Type | Description |
|---|---|---|
row | number |
returns number
invalidate(): voidreturns void
invalidateAllRows(): voidreturns void
invalidateRows(rows: number[]): void| Parameter | Type | Description |
|---|---|---|
rows | number[] |
returns void
invalidateRow(row: number): void| Parameter | Type | Description |
|---|---|---|
row | number |
returns void
updateCell(row: number, cell: number): void| Parameter | Type | Description |
|---|---|---|
row | number | - grid row number |
cell | number | - grid cell column number |
returns void
updateRow(row: number): void| Parameter | Type | Description |
|---|---|---|
row | number | - grid row number |
returns void
getViewportRowCount(): numberreturns number
getViewportHeight(): numberreturns number
getViewportWidth(): numberreturns number
resizeCanvas(): voidreturns void
invalidateRowHeights(): voidreturns void
updateRowCount(): voidreturns void
getViewport(viewportTop?: number, viewportLeft?: number): CellViewportRangeconst vp = grid.getViewport();
loadRowsFromServer(vp.top, vp.bottom);| Parameter | Type | Description |
|---|---|---|
viewportTop? | number | |
viewportLeft? | number |
returns CellViewportRange
getVisibleRange(viewportTop?: number, viewportLeft?: number): CellViewportRange| Parameter | Type | Description |
|---|---|---|
viewportTop? | number | - The top scroll position. |
viewportLeft? | number | - The left scroll position. |
returns CellViewportRange
getRenderedRange(viewportTop?: number, viewportLeft?: number): CellViewportRange| Parameter | Type | Description |
|---|---|---|
viewportTop? | number | - The top scroll position. |
viewportLeft? | number | - The left scroll position. |
returns CellViewportRange
getRowCache(): Record<number, RowCaching>returns Record<number, RowCaching>
render(): voidreturns void
scrollTo(y: number): void| Parameter | Type | Description |
|---|---|---|
y | number |
returns void
scrollCellIntoView(row: number, cell: number, doPaging?: boolean): void| Parameter | Type | Description |
|---|---|---|
row | number | |
cell | number | |
doPaging? | boolean |
returns void
scrollColumnIntoView(cell: number): void| Parameter | Type | Description |
|---|---|---|
cell | number | - cell column number |
returns void
updatePagingStatusFromView(pagingInfo: Pick<PagingInfo, 'pageSize' | 'pageNum' | 'totalPages'>): void| Parameter | Type | Description |
|---|---|---|
pagingInfo | Pick<PagingInfo, 'pageSize' | 'pageNum' | 'totalPages'> |
returns void
getRowSpanColumnIntersects(row: number): number[]| Parameter | Type | Description |
|---|---|---|
row | number | - grid row index |
returns number[]
getRowSpanIntersect(row: number): number | null| Parameter | Type | Description |
|---|---|---|
row | number | - grid row index |
returns number | null
getParentRowSpanByCell(row: number, cell: number, excludeParentRow?): { start: number; end: number; range: string } | null| Parameter | Type | Description |
|---|---|---|
row | number | - grid row index |
cell | number | - grid cell/column index |
excludeParentRow? | | - should we exclude the parent who initiated the rowspan in the search (defaults to true)? |
returns { start: number; end: number; range: string } | null
remapAllColumnsRowSpan(): voidreturns void
scrollRowIntoView(row: number, doPaging?: boolean): void| Parameter | Type | Description |
|---|---|---|
row | number | - grid row number |
doPaging? | boolean | - scroll when pagination is enabled |
returns void
scrollRowToTop(row: number): void| Parameter | Type | Description |
|---|---|---|
row | number | - grid row number |
returns void
navigatePageDown(): voidreturns void
navigatePageUp(): voidreturns void
navigateTop(): voidreturns void
navigateBottom(): voidreturns void
navigateToRow(row: number): boolean| Parameter | Type | Description |
|---|---|---|
row | number | - The row index to navigate to. |
returns boolean
applyFormatResultToCellNode(formatterResult: FormatterResultWithHtml | FormatterResultWithText | string | HTMLElement | DocumentFragment, cellNode: HTMLElement, suppressRemove?: boolean): void| Parameter | Type | Description |
|---|---|---|
formatterResult | FormatterResultWithHtml | FormatterResultWithText | string | HTMLElement | DocumentFragment | |
cellNode | HTMLElement | |
suppressRemove? | boolean |
returns void
addCellCssStyles(key: string, hash: CssStyleHash): void| Parameter | Type | Description |
|---|---|---|
key | string | A unique key you can use in calls to setCellCssStyles and removeCellCssStyles. If a hash with that key has already been set, an exception will be thrown. |
hash | CssStyleHash | A hash of additional cell CSS classes keyed by row number and then by column id. Multiple CSS classes can be specified and separated by space. |
returns void
removeCellCssStyles(key: string): void| Parameter | Type | Description |
|---|---|---|
key | string | A string key. |
returns void
setCellCssStyles(key: string, hash: CssStyleHash): void| Parameter | Type | Description |
|---|---|---|
key | string | A string key. Will overwrite any data already associated with this key. |
hash | CssStyleHash | A hash of additional cell CSS classes keyed by row number and then by column id. Multiple CSS classes can be specified and separated by space. |
returns void
getCellCssStyles(key: string): CssStyleHash| Parameter | Type | Description |
|---|---|---|
key | string | A string. |
returns CssStyleHash
flashCell(row: number, cell: number, speed?): void| Parameter | Type | Description |
|---|---|---|
row | number | A row index. |
cell | number | A column index. |
speed? | | (optional) - The milliseconds delay between the toggling calls. Defaults to 250 ms. |
returns void
highlightRow(row: number, duration?: number): void| Parameter | Type | Description |
|---|---|---|
row | number | - grid row number |
duration? | number | - duration (ms), defaults to 400ms |
returns void
getUID(): stringreturns string
getHeaderColumnWidthDiff(): numberreturns number
getScrollbarDimensions(): { height: number; width: number } | undefinedreturns { height: number; width: number } | undefined
getDisplayedScrollbarDimensions(): { width: number; height: number }returns { width: number; height: number }
getAbsoluteColumnMinWidth(): numberreturns number
arrayEquals(arr1: Array<T>, arr2: Array<T>): booleanif (!grid.arrayEquals(prevIds, nextIds)) {
grid.setSelectedRows(nextRows);
}| Parameter | Type | Description |
|---|---|---|
arr1 | Array<T> | |
arr2 | Array<T> |
returns boolean
scrollToX(x: number): void| Parameter | Type | Description |
|---|---|---|
x | number |
returns void
getPubSubService(): BasePubSub | undefinedreturns BasePubSub | undefined
getCellFromPoint(x: number, y: number): { row: number; cell: number }| Parameter | Type | Description |
|---|---|---|
x | number | An x coordinate. |
y | number | A y coordinate. |
returns { row: number; cell: number }
getPluginByName(name: string): P | undefined| Parameter | Type | Description |
|---|---|---|
name | string |
returns P | undefined
getContainerNode(): HTMLElementreturns HTMLElement
getCellHeight(row: number, rowspan: number): number| Parameter | Type | Description |
|---|---|---|
row | number | - The row index of the cell. |
rowspan | number | - The number of rows the cell spans. |
returns number
getCellNodeBox(row: number, cell: number): { top: number; left: number; bottom: number; right: number } | null| Parameter | Type | Description |
|---|---|---|
row | number | - A row number. |
cell | number | - A column number. |
returns { top: number; left: number; bottom: number; right: number } | null
getActiveCellPosition(): ElementPositionreturns ElementPosition
getGridPosition(): ElementPositionreturns ElementPosition
getCellEditor(): Editor | nullreturns Editor | null
getActiveCell(): { row: number; cell: number } | nullreturns { row: number; cell: number } | null
getActiveCellNode(): HTMLDivElement | nullreturns HTMLDivElement | null
sanitizeHtmlString(dirtyHtml: string, suppressLogging?: boolean): string| Parameter | Type | Description |
|---|---|---|
dirtyHtml | string | |
suppressLogging? | boolean |
returns string
findSpanStartingCell(row: number, cell: number): {
cell: number;
row: number;
}| Parameter | Type | Description |
|---|---|---|
row | number | - The row index. |
cell | number | - The column index. |
returns {
cell: number;
row: number;
}
navigateRight(): boolean | undefinedreturns boolean | undefined
navigateLeft(): boolean | undefinedreturns boolean | undefined
navigateDown(): boolean | undefinedreturns boolean | undefined
navigateUp(): boolean | undefinedreturns boolean | undefined
navigateNext(): boolean | undefinedreturns boolean | undefined
navigatePrev(): boolean | undefinedreturns boolean | undefined
navigateRowStart(): boolean | undefinedreturns boolean | undefined
navigateRowEnd(): boolean | undefinedreturns boolean | undefined
navigateTopStart(): boolean | undefinedreturns boolean | undefined
navigateBottomEnd(): boolean | undefinedreturns boolean | undefined
getCellNode(row: number, cell: number): HTMLDivElement | null| Parameter | Type | Description |
|---|---|---|
row | number | A row index. |
cell | number | A column index. |
returns HTMLDivElement | null
setActiveCell(row: number, cell: number, opt_editMode?: boolean, preClickModeOn?: boolean, suppressActiveCellChangedEvent?: boolean): void| Parameter | Type | Description |
|---|---|---|
row | number | - A row index. |
cell | number | - A column index. |
opt_editMode? | boolean | |
preClickModeOn? | boolean | Pre-Click Mode is Enabled? |
suppressActiveCellChangedEvent? | boolean | Are we suppressing Active Cell Changed Event (defaults to false) |
returns void
setActiveRow(row: number, cell?: number, suppressScrollIntoView?: boolean): void| Parameter | Type | Description |
|---|---|---|
row | number | - A row index. |
cell? | number | - A column index. |
suppressScrollIntoView? | boolean | - optionally suppress the ScrollIntoView that happens by default (defaults to false) |
returns void
canCellBeActive(row: number, cell: number): boolean| Parameter | Type | Description |
|---|---|---|
row | number | A row index. |
cell | number |
returns boolean
canCellBeSelected(row: number, cell: number): boolean| Parameter | Type | Description |
|---|---|---|
row | number | A row index. |
cell | number |
returns boolean
gotoCell(row: number, cell: number, forceEdit?: boolean, e?: Event | SlickEvent_): void| Parameter | Type | Description |
|---|---|---|
row | number | A row index. |
cell | number | A column index. |
forceEdit? | boolean | If true, will attempt to initiate the edit dialogue for the field in the specified cell. |
e? | Event | SlickEvent_ |
returns void
restoreCssFromHiddenInit(): voidreturns void
validateColumnPinning(columnId?: number | string, forceAlert?, columns?: C[]): boolean| Parameter | Type | Description |
|---|---|---|
columnId? | number | string | column id |
forceAlert? | | tri-state flag to alert when pinning is invalid |
columns? | C[] |
returns boolean
triggerEvent(evt: SlickEvent_, args?: ArgType, e?: Event | SlickEventData_): SlickEventData_<any>| Parameter | Type | Description |
|---|---|---|
evt | SlickEvent_ | |
args? | ArgType | |
e? | Event | SlickEventData_ |
returns SlickEventData_<any>
getPinnedColumns(side?: DockingSide): C[]| Parameter | Type | Description |
|---|---|---|
side? | DockingSide |
returns C[]
setColumnPinning(columnId: number | string, pinned: DockingSide | null): void| Parameter | Type | Description |
|---|---|---|
columnId | number | string | |
pinned | DockingSide | null |
returns void
setColumnStickiness(columnId: number | string, sticky: DockingSide | 'both' | boolean): void| Parameter | Type | Description |
|---|---|---|
columnId | number | string | |
sticky | DockingSide | 'both' | boolean |
returns void
getData(): Ureturns U