LEARN & EXAMPLES

Learn BeautifulGrid through working examples

Explore live DataGrid demos, copy-ready source code, and practical implementation guidance in one place.

Getting Started

3 guides
Getting Started

Getting Started

Install BeautifulGrid in a React project, connect its styles, data, columns, and page container, and render your first grid.

#installation#style-import#first-grid#responsive-container
Getting StartedLIVE DEMO

Basic DataGrid

Learn basic column configuration, custom cell rendering with itemRender, frozen columns, alignment, and row click handling through a practical example.

#columns#itemRender#frozen-columns#onClick#align
Getting StartedLIVE DEMO

Responsive Containers (DataGridContainer)

Measure the grid container with ResizeObserver so the DataGrid renders at the correct size as its layout grows or shrinks.

#resize-observer#responsive-layout#container#absolute-positioning

Data & Columns

6 guides
Data & ColumnsLIVE DEMO

Data and Columns

Explore type-safe column mapping with TypeScript generics, nested key paths, and the rules for column width and alignment.

#columns#nested-keys#typescript#data-types#align
Data & ColumnsLIVE DEMO

Pagination

Place page-number navigation in the DataGrid footer and connect it to a server-side pagination API.

#pagination#page#server-side-paging#pageSize#totalElements#bottomBarHeight
Data & ColumnsLIVE DEMO

Powerful Cell Extensions (itemRender)

Build Canvas charts, facility-load heatmaps, status gauges, and row-level actions in one grid with itemRender.

#itemRender#canvas#custom-cell#react-component#accessibility
Data & ColumnsLIVE DEMO

Line Numbers

Display sequential row numbers in the frozen area on the left and keep them aligned with virtual scrolling.

#showLineNumber#frozen#indexing
Data & ColumnsLIVE DEMO

Sorting

Learn single-column and multi-column sorting rules and how to manage sorting as controlled state.

#sorting#multi-sort#sortInfo#asc-desc#dataControl
Data & ColumnsLIVE DEMO

Large-Data Virtual Scroll

Understand how virtual scrolling renders rows around the current viewport and the constraints to consider when applying it to large datasets.

#virtual-scrolling#large-dataset#performance#dom-recycling#itemHeight#showLineNumber

Interaction & Editing

15 guides
Interaction & EditingLIVE DEMO

Cell Editing

Learn the core cell-editing flow, from declaring editable cells and entering by pointer or keyboard to IME input, save, cancel, and movement.

#cell-editing#editable#editTrigger#keyboard#IME#text-editor
Interaction & EditingLIVE DEMO

Built-in Editors

Configure the built-in text editor and the provided Select and Date plugins, including value parsing, formatting, and editor icons.

#text-editor#select-editor#date-editor#parseValue#formatValue
Interaction & EditingLIVE DEMO

External Editor Plugins

Connect Ant Design or application-specific inputs as editor plugins and manage popup portals, multi-value commits, and the editor lifecycle.

#editor-plugin#defineEditorPlugin#portal#commit#lifecycle
Interaction & EditingLIVE DEMO

Editor Icons

Display dropdown, calendar, and search icons beside cell values and connect them to editor activation or an independent callback.

#editorIcon#visibility#icon-callback#accessibility
Interaction & EditingLIVE DEMO

Autocomplete and Lookup

Combine autocomplete input and a lookup-modal icon in one cell, then commit values to multiple columns atomically.

#autocomplete#lookup#editorIcon#multi-cell-commit
Interaction & EditingLIVE DEMO

Editing Events and Transactions

Understand the editing event flow from an editor request through onChangeValue validation and normalization, multi-column commits, and onChangeData notifications.

#onChangeValue#commit#onChangeData#transaction#validation
Interaction & EditingLIVE DEMO

Merged Cell Editing

Learn how editing works for merged cells in normal layouts and across frozen row and column boundaries, including atomic updates to every underlying row.

#cell-merge#editing#virtual-scroll#frozen-row#frozen-column#atomic-commit
Interaction & EditingLIVE DEMO

Cell Navigation

Control the active cell, navigate with Arrow keys, Tab, Home/End, and PageUp/PageDown, and connect navigation to selection and inline editing.

#cellNavigationOptions#activeCell#keyboard-navigation#cell-selection#inline-editing
Interaction & EditingLIVE DEMO

Checkbox & Radio Selection

Learn checkbox multi-selection, radio single-selection, select-all indeterminate state, and controlled selection state.

#rowChecked#checkbox#radio#checkedRowKeys#indeterminate#batch-action
Interaction & EditingLIVE DEMO

Sorting and Filtering Toolbox

Apply multi-column sorting and header-toolbox filtering to practical data exploration workflows.

#sorting#filtering#toolbox#multi-sort#dataControl
Interaction & EditingLIVE DEMO

Column Reorder

Learn how to rearrange column headers with drag and drop and persist the resulting order.

#columnSortable#drag-and-drop#reorder#user-customization
Interaction & EditingLIVE DEMO

Row Reorder

Move rows by pointer or keyboard from the handle on the left and safely persist the order with virtual scrolling, selection, and merged cells.

#reorder#drag-handle#onReorder#pointer-drag#keyboard#virtual-scroll
Interaction & EditingLIVE DEMO

Grid Search

Search cells across the currently loaded visible data and configure highlighting, previous and next navigation, context-menu entry points, and a controlled search UI.

#search#context-menu#keyboard#virtual-scroll#frozen-columns#dataControl
Interaction & EditingLIVE DEMO

Cell Context Menu

Configure dynamic items, icons, separators, disabled states, and action callbacks for pointer and keyboard context menus on body cells.

#context-menu#keyboard#accessibility#dataControl
Interaction & EditingLIVE DEMO

Focus and Active Row

Connect cell clicks to selectedRowKey and visually highlight the currently selected row.

#selectedRowKey#focus#row-click#active-row

Advanced Features

5 guides
Advanced FeaturesLIVE DEMO

Cell Merge

Learn how to visually merge identical values in adjacent rows to create readable, grouped report tables.

#cellMergeOptions#mergeBy#rowspan#reporting#grouping
Advanced FeaturesLIVE DEMO

Summary Row

Use the BGridProps summary configuration to display custom summary cells above or below the data rows.

#summary#BGridSummaryColumn#itemRender#colSpan
Advanced FeaturesLIVE DEMO

Pivot Table

Configure row axes, column axes, and aggregate values with BGridPivotOptions to display a cross-tab result.

#pivot#rows#columns#values#aggregate
Advanced FeaturesLIVE DEMO

Column Groups

Create group headers with three or more levels from a tree of column IDs, and use them safely across frozen-column boundaries.

#columnGroups#BGridColumnGroupNode#nested-header#frozenColumnIndex#headerHeight
Advanced FeaturesLIVE DEMO

Frozen Rows & Columns

Learn how to freeze important rows at the top and columns on the left, including use with a Summary Row.

#frozenColumnIndex#frozenRowCount#frozen-columns#frozen-rows#summary#sync-scroll

Styling & Accessibility

6 guides
Styling & AccessibilityLIVE DEMO

Loading & Empty State

Show a spinner overlay while data loads and customize the message displayed when no rows or search results are available.

#loading#spinning#msg#empty-state#overlay
Styling & AccessibilityLIVE DEMO

Row Styling

Dynamically assign custom CSS classes to rows that meet business conditions such as canceled payments, low inventory, or VIP membership.

#getRowClassName#conditional-styling#row-color#highlight#css-classes
Styling & AccessibilityLIVE DEMO

Theming and Style Customization

Override --bgrid-* CSS variables to apply light, dark, and brand-specific themes.

#theming#css-variables#dark-mode#custom-styles#variant
Styling & AccessibilityLIVE DEMO

Vertical Dividers (Variant)

Use the variant prop to toggle vertical dividers in body and summary cells and understand exactly where the setting applies.

#variant#default#vertical-bordered#borders#summary
Styling & Accessibility

Accessibility & Keyboard

Review the keyboard shortcuts currently available for cell navigation, selection, editing, search, context menus, row selection, and row reordering.

#accessibility#keyboard#cell-navigation#row-selection#cell-selection#focus#search#context-menu#row-reorder
Styling & AccessibilityLIVE DEMO

Custom Scrollbar

Configure native browser scrollbars or OS-independent custom overlay scrollbars, including the available dock options.

#scrollbar#custom-scrollbar#native-scrollbar#scrollbar-dock#scroll-metrics