DataTableReferencia de API
CustomDataTable (modo controlado)
El motor sin store, para módulos que deben poseer el estado.
El motor sin store: todas las piezas de estado entran por props (data, isLoading, isPending y las configs con sus campos de estado y callbacks). Su ref (CustomDataTableRef) expone 30+ métodos (scroll, foco, selección, expansión, visibilidad, export…).
Úsalo solo cuando el módulo deba poseer el estado; para todo lo nuevo, SmartDataTable.
Migrando un módulo legacy
Si vienes del patrón viejo (estado en el componente + router.replace), la receta de
migración muestra el antes y el después completo.