dynamic_table_scroll 0.0.2
dynamic_table_scroll: ^0.0.2 copied to clipboard
A high-performance 2D Flutter table with sticky headers & pinned columns, 2D bidirectional scrolling, horizontal virtualization, and auto-fit column widths.
0.0.2 #
- Lowered Dart SDK constraint requirement to
>=3.5.0to support broader Flutter 3.24+ environments.
0.0.1 #
Initial release of dynamic_table_scroll — a high-performance 2D data table widget for Flutter.
Features #
- Sticky Column Headers: Freeze header titles at the top when scrolling vertically (
isHeaderPinned). - Pinned Frozen Columns: Anchor one or multiple leading columns on the left when scrolling horizontally (
pinnedColumnCount,DynamicTableColumn.isPinned). - Anchored Top-Left Corner: Stationary top-left corner cells on both scroll axes.
- Horizontal Column Virtualization (Windowing): Renders only visible columns in the viewport with configurable overscan buffers, delivering buttery-smooth 60/120 FPS performance even with 100+ to 200+ columns.
- Auto-Fit Column Widths: Automatically calculates column widths based on header and sample row measurements with
minWidthandmaxWidthconstraints. - High-Performance Unified Viewport: $O(1)$ fixed item extent list rendering optimized for massive datasets (10,000+ rows).
- GPU-Accelerated Scrolling: Hardware-translated horizontal layer scrolling without triggering unnecessary widget rebuilds.
- Bidirectional 2D Gestures: Synchronized drag gestures across touch, mouse wheel, and trackpad with native scrollbar support.
- Programmatic Controller:
DynamicTableControllerfor jumping or animating to specific rows and horizontal offsets. - Full Styling & Density Support:
DynamicTableStylewithDynamicTableStyle.compact(), zebra striping, sticky elevation shadows, customizable borders, paddings, and typography. - Interactive Callbacks: Support for
onRowTap,onRowLongPress,rowBuilder, and customemptyWidget.