# sadmann7/tablecn

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sadmann7-tablecn).**

6,167 stars · 553 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/sadmann7/tablecn
- Homepage: https://tablecn.com
- awesome-repositories: https://awesome-repositories.com/repository/sadmann7-tablecn.md

## Topics

`data-grid` `data-table` `multiplayer` `nextjs` `partykit` `shadcn-table` `shadcn-ui` `table` `tanstack-db` `tanstack-table`

## Description

Tablecn is a React-based data table component that combines server-side data processing with real-time collaboration features. It provides a structured approach to building interactive tables using reusable components and a declarative column configuration system that automatically generates filter interfaces.

The project distinguishes itself through its contextual action bar pattern, which surfaces batch operations only when rows are selected, keeping the main interface uncluttered. It supports virtualized row rendering for performance with large datasets, and uses WebSocket connections to synchronize data changes across all connected clients in real time. The table state, including filters, sorting, and pagination, can be persisted in the URL for shareable views.

The component offers comprehensive data display capabilities including column pinning, sorting, pagination, infinite scroll, and keyboard navigation. Its filtering system supports per-column text, number, date, and select filters with customizable operators, as well as an advanced multi-condition rule interface for complex queries.

## Tags

### Business & Productivity Software

- [Declarative Column Configurations](https://awesome-repositories.com/f/business-productivity-software/column-configuration/declarative-column-configurations.md) — Defines table columns and their associated filters through a configuration object that auto-generates UI elements.

### Data & Databases

- [Server-Side Filtering & Sorting](https://awesome-repositories.com/f/data-databases/server-side-filtering-sorting.md) — Offloads sorting, filtering, and pagination to the server to minimize client-side computation for large datasets.
- [Interactive Tabular Displays](https://awesome-repositories.com/f/data-databases/tabular-data-frameworks/tabular-data-management-interfaces/tabular-display-management/interactive-tabular-displays.md) — Renders a sortable, filterable, and paginated table for browsing structured datasets. ([source](https://diceui.com/docs/components/data-table))
- [Multi-Condition Rule Interfaces](https://awesome-repositories.com/f/data-databases/conditional-data-filters/multi-condition-rule-interfaces.md) — Applies complex filter rules through a Notion/Airtable-like interface to query data with multiple combined conditions. ([source](https://cdn.jsdelivr.net/gh/sadmann7/tablecn@main/README.md))
- [Data Pagination](https://awesome-repositories.com/f/data-databases/data-pagination.md) — Divides results into pages with configurable page sizes for both server and client. ([source](https://diceui.com/docs/components/data-table))
- [Batch Row Operations](https://awesome-repositories.com/f/data-databases/database-schema-mapping/row-mapping-logic/row-record-access/tabular-row-storage/mock-row-queries/table-row-counts/batch-row-operations.md) — Selects multiple rows in a data table and performs batch actions through a contextual toolbar. ([source](https://cdn.jsdelivr.net/gh/sadmann7/tablecn@main/README.md))
- [Real-time Data Synchronization](https://awesome-repositories.com/f/data-databases/real-time-data-synchronization.md) — Edits and views table data simultaneously with multiple users, with instant WebSocket-based synchronization of changes. ([source](https://cdn.jsdelivr.net/gh/sadmann7/tablecn@main/README.md))

### Development Tools & Productivity

- [Per-Column Row Filters](https://awesome-repositories.com/f/development-tools-productivity/data-filtering-interfaces/row-visibility-filters/per-column-row-filters.md) — Applies text, number, date, select, or multi-select filters with customizable operators. ([source](https://diceui.com/docs/components/data-table))

### User Interface & Experience

- [Configurable Column Definitions](https://awesome-repositories.com/f/user-interface-experience/data-tables/table-data-syncers/data-tables/configurable-column-definitions.md) — Configures columns and generates filters from column definitions for flexible table layouts. ([source](https://cdn.jsdelivr.net/gh/sadmann7/tablecn@main/README.md))
- [Component-Based Tables](https://awesome-repositories.com/f/user-interface-experience/data-view-customizers/custom-table-views/table-rendering-overrides/component-based-tables.md) — Builds data tables using reusable React components with shadcn/ui primitives for consistent styling and behavior.
- [Column Pinning](https://awesome-repositories.com/f/user-interface-experience/data-tables/column-pinning.md) — Fixes a column to the left or right side of the table during horizontal scroll. ([source](https://diceui.com/docs/components/data-table))
- [Row Selection Interfaces](https://awesome-repositories.com/f/user-interface-experience/floating-action-buttons/row-action-triggers/clickable-rows/row-selection-interfaces.md) — Picks single or multiple rows and triggers an action bar for batch operations. ([source](https://diceui.com/docs/components/data-table))
- [Contextual Action Bars](https://awesome-repositories.com/f/user-interface-experience/navigation-bars/contextual-action-bars.md) — Displays a floating toolbar when rows are selected, enabling batch operations without cluttering the main interface.
- [Single-Column Sorting](https://awesome-repositories.com/f/user-interface-experience/tables/column-reorderers/table-sorting-logic/multi-column-sorting/single-column-sorting.md) — Sorts data by one or multiple columns while preserving sort state across interactions. ([source](https://diceui.com/docs/components/data-table))

### Part of an Awesome List

- [Infinite Scroll](https://awesome-repositories.com/f/awesome-lists/devtools/infinite-scroll.md) — Loads and renders large datasets progressively with virtualization for smooth scrolling through thousands of records. ([source](https://cdn.jsdelivr.net/gh/sadmann7/tablecn@main/README.md))
- [Data Synchronization WebSockets](https://awesome-repositories.com/f/awesome-lists/devtools/websockets-and-real-time/data-synchronization-websockets.md) — Uses WebSocket connections to broadcast and apply data changes across all connected clients instantly.

### Software Engineering & Architecture

- [Virtualized Rendering](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations/virtualized-rendering.md) — Renders only visible rows in the DOM using virtualization to maintain performance with thousands of records.
