Simple Table Data Grid

repository·main·Indexed 42 days ago

https://github.com/petera2c/simple-table

A lightweight, high-performance data grid for modern web applications with first-class adapters for React, Vue, Angular, Svelte, Solid, and a framework-agnostic core (simple-table-core). It supports complex features including pivoting, grouping, infinite scrolling with virtualization, nested headers, and programmatic control via TableAPI.

Tokens
23.7K
Snippets
54
Records
83
Agent score
46%

What's inside Simple Table

  1. Overview of Simple Table features

    main

    Simple Table is a lightweight data grid with extensive features categorized into columns, rows, cells, and advanced capabilities.

    Column Features

    • Sorting: Ascending/descending order.
    • Filtering: Text, number, and date filters.
    • Resizing: Drag borders to resize.
    • Pinning: Pin columns to left or right.
    • Reordering: Drag and drop to rearrange.
    • Visibility: Show/hide columns dynamically.
    • Alignment: Left, center, or right.
    • Selection: Bulk column operations.
    • Nested Headers: Multi-level hierarchies.
    • Collapsible Columns: Expand/collapse groups.

    Row Features

    • Selection: Single or multiple row selection via checkboxes.
    • Grouping: Organize rows by column values.
    • Nested Tables: Hierarchical data with independent columns.
    • Aggregate Functions: Sum, Average, Count, etc.
    • Pivot Tables: Matrix pivots with dimensions and totals.
    • Row Height: Custom height settings.

    Cell Features

    • Editing: Inline editing with custom editors.
    • Highlighting: Conditional cell highlighting.
    • Renderer: Custom rendering for any data type.
    • Value Formatter: Format display values without changing underlying data.
    • Chart Columns: Inline bar and line/area charts.
    • Clicking: Handle cell click events.

    Advanced Features

    • Quick Filter: Global search (simple or smart modes).
    • Pagination: Client-side and server-side support.
    • Infinite Scroll: Virtualized row and column scrolling.
    • Live Updates: Real-time data via websockets.
    • CSV Export: One-click data download.
    • Animations: FLIP animations for UI changes.
    • Custom Renderers: Custom Header and Footer renderers.
    • Programmatic Control: Control the grid via the TableAPI.
  2. Explore Simple Table features in Angular

    main

    The Angular examples showcase the @simple-table/angular adapter using Angular 17+ standalone components and Signals. Key features demonstrated include:

    • Performance: Virtualization for handling 1M+ rows.
    • Column Management: Pinning, resizing, reordering, and visibility.
    • Layout: Nested headers and row grouping.
    • Interaction: Inline cell editing and custom renderers using Angular components.
    • Data Handling: Pagination and infinite scroll.
    • Control: Programmatic control and various themes.
  3. Simple Table Features Overview

    main

    Simple Table provides a comprehensive set of features for data grids, categorized into Column, Row, Cell, and Advanced capabilities:

    Column Features

    • Sorting & Filtering: Ascending/descending sort and built-in text, number, and date filters.
    • Layout: Resizing, pinning (left/right), reordering (drag-and-drop), visibility toggling, and alignment.
    • Structure: Nested headers and collapsible column groups.
    • Selection: Column-level selection for bulk operations.

    Row Features

    • Selection & Grouping: Single/multiple row selection and grouping by any column.
    • Hierarchical Data: Nested tables with independent columns per level.
    • Data Analysis: Aggregate functions (Sum, Average, Count) and Pivot Tables.
    • Display: Customizable row height.

    Cell Features

    • Interaction: Inline editing with custom editors and cell click event handling.
    • Visuals: Conditional highlighting, custom cell renderers, and inline chart columns (bar, line, area).
    • Formatting: Value formatters to change display without altering underlying data.

    Advanced Features

    • Search & Navigation: Global 'Quick Filter' and support for both client-side and server-side pagination.
    • Performance: Infinite scroll with row and column virtualization.
    • Data & Export: Real-time live updates (WebSockets) and one-click CSV export.
    • UI/UX: Smooth FLIP animations for layout changes and custom header/footer renderers.
    • Control: Full programmatic control via the TableAPI.
  4. Features of Simple Table

    main

    Simple Table provides a comprehensive set of features categorized by table area:

    Column Features

    • Sorting & Filtering: Ascending/descending sort and built-in text, number, and date filters.
    • Layout & Visibility: Resizing, pinning (left/right), reordering (drag and drop), and dynamic visibility.
    • Structure: Nested headers and collapsible column groups.
    • Alignment & Selection: Content alignment (left, center, right) and column-level selection.

    Row Features

    • Selection & Grouping: Single/multiple row selection via checkboxes and grouping by any column.
    • Data Complexity: Nested tables for hierarchical data and Pivot Tables for matrix views.
    • Calculations: Aggregate functions (Sum, Average, Count, etc.).
    • Display: Customizable row height.

    Cell Features

    • Interaction: Inline cell editing with custom editors and cell click event handling.
    • Visuals: Custom cell renderers, conditional highlighting, and inline chart columns (bar, line, area).
    • Formatting: Value formatters to change display without altering underlying data.

    Advanced Features

    • Search & Navigation: Quick Filter (global search) and support for both client-side and server-side Pagination.
    • Performance: Infinite Scroll with row and column virtualization.
    • Data & Export: Live updates (Websocket integration) and CSV export.
    • UI/UX: Smooth FLIP animations for layout changes and custom Header/Footer renderers.
    • Programmatic Control: Full control over the grid via the TableAPI (sorting, filtering, selection, etc.).
  5. Features of Simple Table for Vue

    main

    Simple Table provides a comprehensive set of features for data grids, categorized into columns, rows, cells, and advanced functionality.

    Column Features

    • Sorting, Filtering, Resizing, Pinning, Reordering, Visibility, Alignment, and Selection
    • Nested Headers and Collapsible Columns

    Row Features

    • Selection, Grouping, and Nested Tables
    • Aggregate Functions (Sum, Average, Count, etc.)
    • Pivot Tables and Row Height customization

    Cell Features

    • Editing, Highlighting, and Custom Rendering
    • Value Formatting (displaying formatted values without changing underlying data)
    • Chart Columns (inline bar and line/area charts)
    • Cell Clicking events

    Advanced Features

    • Quick Filter (global search)
    • Pagination (client-side and server-side)
    • Infinite Scroll (with row and column virtualization)
    • Live Updates (real-time/websocket integration)
    • CSV Export
    • Animations (FLIP animations for UI changes)
    • Custom Renderers for Headers and Footers
    • Programmatic Control via TableAPI
  6. Simple Table Feature Overview

    main

    Simple Table provides a comprehensive set of features for data grids, categorized by their target area:

    Column Features

    • Sorting & Filtering: Ascending/descending sort and built-in text, number, and date filters.
    • Layout: Resizing, pinning (left/right), reordering (drag and drop), visibility toggling, and alignment.
    • Structure: Nested headers and collapsible column groups.
    • Selection: Bulk column selection.

    Row Features

    • Selection & Grouping: Single/multiple row selection with checkboxes and grouping by column.
    • Data Complexity: Nested tables (hierarchical data) and Pivot tables (matrix pivots with aggregations).
    • Calculations: Aggregate functions (Sum, Average, Count, etc.).
    • Display: Customizable row height.

    Cell Features

    • Interaction: Inline editing with custom editors and cell click handling.
    • Visuals: Highlighting based on conditions, custom cell renderers, and inline charts (bar, line, area).
    • Formatting: Value formatters to change display without altering underlying data.

    Advanced Features

    • Search & Navigation: Quick global filter and pagination (client-side and server-side).
    • Performance: Infinite scroll with row and column virtualization.
    • Data & Export: Live updates (WebSockets), CSV export, and smooth FLIP animations.
    • Customization: Custom themes, custom icons, and custom header/footer renderers.
  7. How to build with Simple Table in Solid

    main

    Simple Table is designed to leverage Solid's reactivity and component model:

    • Fine-grained Reactivity: The API is signals-friendly; updates flow through Solid's reactivity system.
    • Component-based Rendering: Use Solid components to create custom cell renderers, header renderers, footer renderers, and more.
    • Imperative Control: Access the TableAPI via a ref callback to programmatically trigger actions like sorting, filtering, pagination, and exporting.
    • Environment Support: Works with Solid Start, Vite, and TypeScript in strict mode. All necessary types and APIs are exported from the @simple-table/solid package.
  8. Building with Simple Table in React

    main

    Simple Table for React provides a highly customizable data grid experience using React-native patterns:

    • Component-based Rendering: Use standard React components to create custom cell renderers, header renderers, footer renderers, and more.
    • Imperative Control: Access the full TableAPI via a React ref to programmatically trigger actions like sorting, filtering, pagination, and exporting.
    • Type Safety: All types and APIs are exported directly from the @simple-table/react package.
  9. How to build with Simple Table in Vue

    main

    Simple Table is designed for modern Vue development using the Composition API and <script setup>.

    Key Integration Patterns:

    • Reactivity: Works seamlessly with ref, reactive, computed, and watch.
    • Custom Rendering: Use Vue components to create custom cell renderers, header renderers, and footer renderers.
    • Imperative Control: Access the TableAPI via a template ref to programmatically trigger actions like sorting, filtering, pagination, and exporting.
    • TypeScript Support: All types and APIs are exported from the package, making it compatible with Vite, Nuxt 3+, and <script setup lang="ts">.
  10. How to build with Simple Table in Svelte

    main

    Simple Table is designed to integrate deeply with Svelte's component model:

    • Custom Rendering: Use Svelte components to create custom renderers for cells, headers, and footers.
    • Imperative Control: Access the TableAPI using Svelte's bind:this directive. This allows you to programmatically trigger actions like sorting, filtering, pagination, and exporting data.
    • Type Safety: All types and APIs are exported from the @simple-table/svelte package for full TypeScript support.
    <script>
      import { SimpleTable } from '@simple-table/svelte';
      let tableApi;
    </script>
    
    <SimpleTable bind:this={tableApi} />
    
    <button on:click={() => tableApi.sort('columnName')}>Sort Column</button>