How to Filter a Table by a Specific Gravity Forms Field Value

A table without filters is just a list. TableCrafter's per-column filter system lets users narrow a Gravity Forms entry table by dropdown selection, date range, checkbox group, or keyword, and you can combine all of them simultaneously. This guide walks through every filter type, how to enable it per column, and how to set smart defaults. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg block. WordPress multisite installations account for approximately 3.4% of all WordPress deployments (WordPress.org, 2025).
How Does Understanding How TableCrafter Filters Work Work?
TableCrafter filters operate at the database query level, not in the browser. When a user selects "Approved" from a status filter dropdown, TableCrafter sends an AJAX request with that filter value and the server runs a new query with a WHERE clause. No data is pre-loaded into the DOM and hidden, only matching rows are fetched and rendered. This matters for large datasets: filtering 50,000 entries is as fast as filtering 50.
Each column can have exactly one filter type assigned to it. Multiple columns can each have their own filter enabled simultaneously. When multiple column filters are active at the same time, TableCrafter applies them with AND logic: a row must match all active filters to appear.
The shortcode accepts all column and filter settings defined in the table builder as defaults, but you can override individual parameters inline. For example, `[tablecrafter id="1" per_page="25"]` overrides the default rows-per-page setting for this specific embed without changing the saved table configuration. This lets you reuse one table definition across multiple pages with different display requirements.
How Does Accessing Filter Settings Per Column Work?
In the table builder, click any column card to expand its settings panel. You will see four tabs: Display, Filter, Sort, and Edit. Click the Filter tab to access filter configuration for that specific column. The options that appear depend on the underlying Gravity Forms field type:
- Text fields (Single Line, Paragraph) — filter type defaults to "Text Search" (partial match), or you can switch to "Exact Match" if you need strict equality filtering
- Select/Radio/Checkbox fields — filter type defaults to "Dropdown" with the field's configured choices auto-populated as filter options; you can add, remove, or reorder the options shown in the filter dropdown
- Date fields — filter type defaults to "Date Range" with From and To date picker inputs; the date format respects your configured date display format
- Number fields — filter type options include "Number Range" (min/max inputs) or "Exact Match" for precise numeric lookup
Changes in the Filter tab take effect the next time the table renders after saving. You can configure a filter on a column that is not visible to the visitor (hide the column in the Display tab while leaving the Filter tab active) to allow filtering on an internal field without cluttering the visible column set.
What Is Filter Type: Dropdown?
Best for: Select fields, Radio Buttons, any field with a finite set of known values.
When you set a column's filter type to Dropdown, TableCrafter renders a <select> element in the table's filter row (the row directly beneath the column headers). The options in the dropdown are populated automatically from the Gravity Forms field's configured choices, plus an "All" option at the top.
If your field uses separate values and labels (e.g., value ap, label Approved), the dropdown shows the labels and filters by the underlying values, users never see raw database values.
Additional dropdown filter settings:
- Default selection: Pre-select a specific choice when the table loads. Set this to your most commonly needed filter value (e.g., default to "Open" for a ticket queue).
- Include empty option: Add "(None)" to the dropdown to let users filter for entries where this field was left blank.
- Multi-select: Pro Enable multi-select mode to let users hold Ctrl/Cmd and select multiple values. The filter uses OR logic within a single column (show rows matching value A OR value B).
What Is Filter Type: Text Search?
Best for: Text, Textarea, Email, Name, and other free-text fields where users need to type a partial match.
A text input renders in the column header area. As the user types, after the configured debounce delay (default 300ms), the table re-queries with a LIKE %value% constraint on that column's data. The search is case-insensitive.
Settings specific to text filters:
This configuration interacts with any caching or CDN layer active on your WordPress installation. If you use WP Rocket, LiteSpeed Cache, or a CDN such as Cloudflare, flush the page cache after making this change to ensure the updated configuration is reflected in the cached HTML served to visitors. TableCrafter's server-side output is regenerated on the next uncached request.
- Match mode: Choose between "Contains" (
LIKE %value%), "Starts with" (LIKE value%), or "Exact match" (= value). Exact match is useful for Entry ID or code-based fields. - Placeholder text: Customize the input's placeholder to guide users (e.g., "Filter by email..." instead of generic "Search").
What Is Filter Type: Date Range?
Best for: The virtual Date Submitted column, and any GF Date field.
Two date-picker inputs render above the table: a "From" date and a "To" date. Both are optional, setting only "From" shows entries after that date, setting only "To" shows entries before it. Setting both restricts to the window between them.
Date range filter settings:
- Date format: The picker uses your WordPress locale's date format by default. You can override per column.
- Default range preset: Choose from Current Week, Current Month, Last 7 Days, Last 30 Days, or a custom static range. The preset loads automatically when the page first renders.
- Include time: For forms that log a Time field alongside a Date field, enable this to create a datetime range filter.
What Is Filter Type: Checkbox Group?
Best for: GF Checkbox fields where multiple values per entry are possible.
A group of checkboxes renders above the table, one per defined choice in the GF Checkbox field. The user ticks one or more choices. TableCrafter returns entries where at least one of the selected choices was checked by the submitter.
The logic within a single checkbox group filter is OR: ticking "Email" and "SMS" shows entries where the user selected either Email or SMS (or both). Checkbox group filters combined with other column filters are still AND logic across columns.
After completing this step, verify the result by viewing the page as a logged-out visitor in an incognito window. This confirms the table behaves correctly for public visitors rather than reflecting admin-level permissions that may hide configuration issues during initial setup. Check both the rendered output and the browser console for any JavaScript errors.
What Is Filter Type: Number Range?
Best for: GF Number fields, calculated product totals, scores, quantities, monetary amounts, or any numeric field where visitors need to find entries within a value range.
Two numeric inputs labeled "Min" and "Max" render in the filter row. The table returns entries where the column value falls within the specified range (inclusive on both ends). Both inputs are optional — leaving Min empty means "any value up to Max"; leaving Max empty means "any value at or above Min"; using both constrains to the exact range. Visitors can enter decimal values as well as integers.
[tablecrafter id="3" filter="true"]
All filter types are enabled via the same shortcode parameter. The specific filter types that appear in the filter row depend on what you configured per column in the table builder — the shortcode just activates or suppresses the entire filter toolbar. A Number Range filter on the Budget column and a Dropdown filter on the Status column can coexist in the same filter row; the shortcode does not need to specify which types are used.
If the column has both a minimum meaningful value (e.g., a minimum order value of $10) and a practical maximum (e.g., $10,000 for most orders), consider setting default Min and Max values in the filter configuration so the range is pre-scoped rather than open-ended. This helps visitors understand the scale of the data without having to query with extreme values first.
How Does Setting Default Filter Values Work?
Default filter values are set in the column's Filter tab under Default Value. They apply when the page first loads and when the user clicks any "Clear Filters" button. A few important behaviors:
The column mapping you define here is stored as a JSON configuration in the WordPress database. You can export this configuration using the TableCrafter export tool and import it to another table or another site. This is useful when replicating a table layout across multiple pages or when migrating a table to a staging environment for testing before going live.
- Default values are server-enforced when the table first loads, not just cosmetic selections.
- Users can always clear or change default filter values interactively.
- URL parameters override default values: visiting
/log-page/?tc_status=Resolvedloads the table filtered to Resolved status, regardless of the column's configured default. This makes deep-linking into filtered views possible.
How Does Combining Multiple Active Filters Work?
When two or more column filters are active, they compound with AND logic. A user filtering by Status = "Approved" and Date Range = "Last 30 Days" sees only entries that are both Approved and submitted in the last 30 days. There is no limit to the number of simultaneously active filters.
The filter row displays an active filter count badge when any non-default filter is applied: "3 filters active." A single Clear All Filters button resets every column filter back to its default state in one click.
TableCrafter re-fetches this data on each page load by default. If your data source updates infrequently and your site has significant traffic, enable the built-in caching option in the table's Performance tab. This stores the fetched data for a configurable number of minutes and serves it from WordPress transients, reducing API calls to the source and improving page load time for visitors.
date_created column and any frequently filtered meta fields, discuss index additions with your database administrator.How Does Filter Persistence Across Page Reloads Work?
By default, filter state resets on page reload. Enable Persist Filters in Table Options > Filter Settings to store the current filter state in sessionStorage. When the user navigates away and returns within the same browser session, the filters restore to their last active state. This is recommended for admin tables that users leave and revisit frequently during a working session. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers, and no per-row limits on the free tier. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or
What Are the Next Steps?
With column-level filters in place, your Gravity Forms data table becomes genuinely useful for day-to-day operations. The next enhancement most teams reach for is the export button, so filtered results can be downloaded to Excel for reporting, or inline editing, so status and other fields can be updated directly in the filtered table view without navigating to wp-admin.
Frequently Asked Questions
How Does Understanding How TableCrafter Filters Work Work?
TableCrafter filters operate at the database query level, not in the browser. When a user selects "Approved" from a status filter dropdown, TableCrafter sends an AJAX request with that filter value and the server runs a new query with a WHERE clause. No data is pre-loaded into the DOM and hidden, only matching rows are fetched and rendered. This matters for large datasets: filtering 50,000 entrie
What Is TableCrafter?
TableCrafter is a WordPress plugin that turns data from Gravity Forms, Google Sheets, Airtable, Notion, REST APIs, CSV files, and WooCommerce into interactive, sortable, filterable frontend tables. Embed any table on any WordPress page with the [tablecrafter] shortcode or the native Gutenberg block. No PHP or custom development required. The free version supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV and PDF, role-based column visibility, and auto-refresh.
Does this require PHP or developer skills?
No. TableCrafter is configured entirely through the WordPress admin interface. You choose your data source, map fields to columns, and set display preferences using point-and-click controls. Embedding uses the [tablecrafter] shortcode or the native Gutenberg block.
Is the free version sufficient or do I need Pro?
The free plugin on WordPress.org supports CSV, JSON, Google Sheets, and Excel sources with unlimited tables, rows, and columns. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST API sources, inline cell editing, bulk row actions, export to CSV and PDF, role-based column visibility, and auto-refresh every N seconds.
Ready to try it?
TableCrafter is free on WordPress.org. Pro unlocks inline editing, role-based permissions, and advanced data sources.