I’m facing a limitation with the Datagrid component connected to Supabase. My table has 11,000 records, but the Datagrid can only display the first 1,000 records.
Problem:
The table in Supabase has 11,000 records
The Datagrid displays only the first 1,000 records
Even when applying filters to search for records at the end of the table, I still only get the first 1,000 records
This prevents me from viewing and filtering the complete data
Question: Is there any way to:
Increase this limit of 1,000 records?
Configure server-side pagination to load all records as needed?
Make the filters search across the entire database (11,000 records) and not just the first 1,000?
I appreciate any guidance on how to solve this limitation.
not 100% sure but I don’t think there is a limit on the datagrid but on supabase instead JavaScript API Reference | Supabase Docs so if you increase your limit then you can display more. But know that this will be slower to call and can be a large amount of data for your browser to hold.
You should probably come up with a better query or if you really need to filter thru all data with an rpc. Loading 11k records into the browser is not a good idea. Performance wise and security wise
Imagine that from those 11,000 records I need to filter 2,000 - it won’t work anymore. I also did a test with sorting the 1,000 records that it displays on screen and right at the first record it shows one out of order. Perhaps this is a bug that the technical team should look into.
@arnaldo.zyl
I handled this in Supabase itself. Loading all 11k rows to the frontend is bad practice, so I set up server-side pagination with .range() and applied filters directly in the Supabase query. This way the Datagrid only loads what’s needed, stays fast, and filters always apply across the full dataset.
I managed to get the pagination range working. I need help on how to build a filter using query string with bind. It looks like it’s an array. Can you show me the layout of this array?