Features

Everything the grid does, and the page that documents it. If you know what you want to build, start here; if you want to look an option or a method up by name, start at Reference.

Data

Feature Option / API Guide
Async data source fetchMeta + fetchData Data Source
Single-callback data source fetchPage Data Source
In-memory array data Data Source
Swapping the source at runtime setDataSource() Data Source
Chunked loading, prefetch and cache chunkSize, prefetchChunks, maxCachedChunks Architecture
Continuous scroll or classic pages pagination, pageSize Pagination
Page-size selector pageSizeOptions Pagination

Columns

Feature Option / API Guide
Add, delete, hide addColumn(), deleteColumn(), hideColumn() Columns
Resize and reorder by drag (built in) Interaction
Column chooser dialog header context menu Context Menus
Multi-level header groups columnDefs[].group Columns
Many column changes as one step batchStructural() Columns
Keep a group whole while dragging lockHeaderGroups Columns
Frozen left and right frozenCols, frozenColsRight Columns
Size to container responsive Columns
Fill the leftover width stretchColumns Columns
Spreadsheet letter headers columnLetterHeader Columns

Rows

Feature Option / API Guide
Add, delete, undelete addRow(), deleteRow(), undeleteRow() Rows
Hide and show hideRow(), showAllRows() Rows
Per-row height, auto-fit columns setRowHeight(), autoFitColumns() Rows
Wrapped cell text, auto row height wrapCells, autoRowHeight Rows
Drag reorder rowReorder Rows
Move a row from code moveRow() Rows
Drag rows between grids rowDragGroup, onRowDropIn Rows
Pinned top and bottom rows pinnedTopRows, pinnedBottomRows, pinRow() Rows
Space under a row for your own panel reserveRowSpace(), getRowRect() Rows
Summary (grand total) row summaryRow, getSummaryValues() Rows

Selection, clipboard and editing

Feature Option / API Guide
Cell and range selection getSelection(), setSelection() Selection
Row selection and header checkbox rowSelection, getSelectedRows() Selection
Copy, cut, paste as TSV Ctrl+C / Ctrl+X / Ctrl+V Interaction
Fill handle drag the selection corner Interaction
Inline editing editableCols, onCellChange Editing
Editor behaviour per column columnDefs[].editorOptions Editing
Validation columnDefs[].validation, isValid() Editing
Number-only editing editor: 'number' Editing
Undo and redo undo(), redo() Methods

Cells

Feature Option / API Guide
Checkbox, radio, dropdown, multiselect columnDefs[].type Cell Types
Date columns type: 'date', datePattern Cell Types
Button columns and per-cell buttons type: 'button', cellButton Cell Types
Built-in renderers CellRenderers Renderers
Rounding and negatives on an amount CellRenderers.number({ rounding, negative }) Renderers
Rich text and image cells type: 'richtext', type: 'image' Renderers
Custom renderer and editor columnDefs[].renderer, columnDefs[].editor Renderers

Filtering and sorting

Feature Option / API Guide
Set filter and quick filter setFilterValues(), setQuickFilter() Filtering & Sorting
Tag filter for high-cardinality columns fetchFilterValues Filtering & Sorting
Field-based filter and sort setFilter(), setSort() Filtering & Sorting
Multi-column sort addSort(), setSorts(), Shift+click Filtering & Sorting

Presentation

Feature Option / API Guide
Theme object and CSS custom properties theme, --jhg-* Themes
Changing the theme at runtime setTheme(), getTheme() Themes
Conditional row and cell styling rowHighlighter, cellBackground Themes
Cell decorators and tooltips cellDecorator, cellTooltip Themes
Row, column and cell context menus rowContextMenuItems and friends Context Menus

State, saving and output

Feature Option / API Guide
Snapshot and restore layout getState(), setState() State & Saving
Rows addressed by key getRowIndexByKey(), setCellValueByKey() State & Saving
Typed edits at the save boundary getEdits({ typed: true }), columnDefs[].parse State & Saving
Read unsaved edits getEdits() Methods
A row’s edits, before and after getRowChanges() Rows
Undo one row’s edits revertRow() State & Saving
Save row by row acknowledgeSave(), isNewRow() State & Saving
Save in one batch, keyed by row rowKey, getChanges() State & Saving
CSV export and print preview exportCsv(), printGrid() Export & Print

Platform

Feature Option / API Guide
Korean, Japanese, Chinese locales locale Localization
Every string translatable i18n Localization
Keyboard navigation and remappable shortcuts keyMap Interaction
ARIA structure, live region, reduced motion, high contrast ariaLabel Interaction
Screen-reader table navigation ariaRowMirror Interaction
Runtime event subscription on(), off(), listenerCount() Callbacks
Third-party extensions JHGrid.use() Options
Supported browsers - Browser Support
Million-row budgets and tuning chunkSize, maxCachedChunks, fullScanPageSize Performance

This site uses Just the Docs, a documentation theme for Jekyll.