Datagrid limited to 1000 records

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:

  1. Increase this limit of 1,000 records?

  2. Configure server-side pagination to load all records as needed?

  3. 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

1 Like

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.

You need to solve this on the database level. Loading that much data into the browser won’t work at all on a lot of devices.

@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.

2 Likes

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?