Skip to content

StickyRowsPlugin

Since v2.7.0

Sticky Rows plugin for <tbw-grid>.

Marks specific rows as “sticky” so they pin below the grid header when their natural scroll position would take them off-screen. Behavior when multiple sticky rows would be stuck simultaneously is controlled by mode:

  • 'push' (default) — only one stuck at a time; the next sticky row pushes the previous one out of view (iOS section-header behavior).
  • 'stack' — sticky rows stack below the header up to maxStacked.

The plugin renders clones of the real rows; the originals continue to exist in the data flow. Clones inherit the row’s grid-template alignment so they line up perfectly with the column boundaries below.

OptionTypeDescription
isStickystring | StickyPredicateEither a field name on the row (truthy value marks the row as sticky) or a predicate that returns a truthy/falsy value per row.
mode?StickyRowsModeBehavior when multiple sticky rows would be stuck simultaneously.
maxStacked?numberMaximum number of rows stacked below the header in 'stack' mode. Ignored in 'push' mode (which is always 1).
className?stringOptional class added to the stuck-row clones for custom styling.
import '@toolbox-web/grid/features/sticky-rows';
grid.gridConfig = {
features: { stickyRows: { isSticky: 'isSection', mode: 'stack' } },
};

Extends BaseGridPlugin

Inherited methods like attach(), detach(), afterRender(), etc. are documented in the base class.

AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://toolboxjs.com/llms-full.txt