Type to search columns, filters, options, and extensions.

↑↓ to navigate · Enter to open · Esc to close

Documentation

Run the Demo

Explore every feature in a local Symfony demo app, next to the code running it

The repository ships a Symfony demo app in demo/. Each page renders one table built only with what the bundle provides, and shows the exact AbstractDataTable, controller action, and Twig call behind it.

Start it

You need PHP 8.4+ with pdo_sqlite and zip, and Composer. No database server, Node.js, or Docker.

git clone https://github.com/pentiminax/ux-datatables.git
cd ux-datatables/demo
echo "APP_SECRET=$(php -r 'echo bin2hex(random_bytes(16));')" > .env.local
composer install
php bin/console app:demo:reset
php -S 127.0.0.1:8000 -t public

Open http://127.0.0.1:8000. The reset command seeds 60 products, 500 customers, and 10,000 orders in SQLite; the Reset data button in the header restores them after you edit or delete rows.

What the tour covers

PageFeatures
OverviewImages, money, badges, inline switch, edit and delete actions, export, Responsive
Client-side tableDataTable::data() with a plain PHP array
Server-side processingDoctrine paging, search, and ordering over 10,000 rows, urlState()
Column typesEvery built-in column, including TemplateColumn and relative dates
FiltersText, choice, date range, ternary, and custom checkbox filters
Attributes#[DataTableColumn] and #[DataTableFilter] on the entity
Actions and edit modalDetail rows, generated edit form, guarded delete, row voter
Bulk actionsSelection across pages, confirmation, server-side handlers
ExportCopy, CSV, Excel, PDF, and print buttons
Scrolling and fixed columnsScroller with fixedColumns()
Column toolsColumnControl, ColReorder, RowGroup, KeyTable, column visibility

The demo installs the bundle through a Composer path repository, so it always runs the branch you have checked out — a handy way to try a change by hand.