Feature Overview

This page helps you choose the right building blocks before you start coding.

Capability Map

CapabilityWhat it gives youPrimary entry point
Column modelingStrongly-typed column definitions in PHP/ux-datatables/columns/overview/
Client-side processingInline rows or Ajax-loaded datasets handled entirely in the browser/ux-datatables/guide/client-side-processing/
Server-side processingPaging, ordering, and filtering on the backend/ux-datatables/guide/server-side-processing/
Declarative filtersFilter popover with Doctrine conditions/ux-datatables/guide/filters/
Row actions & detail rowsEdit, delete, custom Ajax actions, collapsible detail templates/ux-datatables/columns/action-column/
DataTables extensionsExport, selection, responsiveness, scrolling, etc./ux-datatables/extensions/
API Platform integrationHydra response adaptation and auto Ajax wiring/ux-datatables/integrations/api-platform/
Mercure live updatesSSE-driven Ajax reload when data changes/ux-datatables/integrations/mercure/
Inline editingEdit rows via a modal with auto-generated Symfony Forms/ux-datatables/reference/edit-modal/
Ajax securityRoute protection, CSRF mutations, entity voters/ux-datatables/getting-started/security/
Reusable table classesEncapsulate all table logic in one class/ux-datatables/reference/abstract-datatable/
Code generationScaffold DataTable classes from Doctrine entities/ux-datatables/reference/maker/

Typical Architecture

  1. Build a DataTable config or an AbstractDataTable class.
  2. Define columns and options.
  3. Pick a processing strategy: inline rows, Ajax-powered client-side, or server-side.
  4. Add filters, actions, and extensions only when needed.
  5. Protect Ajax routes before production.

Next Step

Use /ux-datatables/features/when-to-use-what/ or jump to /ux-datatables/recipes/ for copy-paste setups.