Skip to content

Column Virtualization Plugin

The Column Virtualization plugin improves performance for grids with many columns.

import '@toolbox-web/grid/features/column-virtualization';
import { queryGrid } from '@toolbox-web/grid';
import '@toolbox-web/grid/features/column-virtualization';
const grid = queryGrid('tbw-grid');
grid.gridConfig = {
columns: generateManyColumns(100), // Your column generator
fitMode: 'fixed', // Required for column virtualization
features: { columnVirtualization: true },
};
grid.rows = data;
Column count Number of columns to generate
Threshold Min columns to enable virtualization
Overscan Extra columns rendered offscreen
Auto-enable Automatically enable when column count exceeds threshold

Use the Column Count slider to add up to 1000 columns, and toggle Auto Enable to compare performance with and without virtualization.

OptionTypeDefaultDescription
autoEnablebooleantrueAuto-enable above threshold
thresholdnumber30Column count threshold
overscannumber3Extra columns to render
  • fitMode: 'fixed' — the plugin is designed for fixed-width column layouts
  • Columns should have explicit widths (columns without widths default to 100px)
const plugin = grid.getPluginByName('columnVirtualization');
// Check if virtualization is currently active
const active = plugin.getIsVirtualized();
// Get the visible column index range
const { start, end } = plugin.getVisibleColumnRange();
// Scroll a specific column into view
plugin.scrollToColumn(42);
AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt