Category: How do I do X?
Updated

This solution is summarized from an archived support forum post. This information may have changed. If you notice an error, please let us know in Discord.

Filtering records beyond what is on one page

Issue

I'm having trouble filtering a MySQL data source on Appsmith. When I use the built-in filter option in the data table, it only filters for values on the current screen and not all the rows in the table. I want to be able to filter for all 20,000 rows using a MySQL query, but I'm not sure how to reference the criteria generated by the filter UI and assign it to the data table. I've looked through tutorials and posts but haven't found a solution. Using external select widgets for server-side filtering also isn't ideal since I would need to create multiple select boxes for filtering by multiple columns. I'm hoping Appsmith can explore using the existing UI filter builder to generate a server-side query and filter instead.

Resolution

At the moment, the Appsmith data grid and filter only support client-side filtering, which is not ideal for large datasets. However, the UI for creating filters in Appsmith is powerful and flexible, and the goal is to repurpose it to perform server-side filtering.

The proposed solution is to expose the query generated by the filter builder UI and pass it into a server-side query and filter, allowing for more efficient filtering of large datasets. This would eliminate the need to build custom select boxes and checkboxes for each column, simplifying the filtering process and staying true to the low-code principle.

The Appsmith team is currently working on implementing server-side filtering for most DB queries, and progress can be tracked via the relevant GitHub issue. With this feature, Appsmith will become an even more powerful platform for building complex table widgets and filtering large datasets.