I am attempting to create a QuickGrid filter with Blazor
<div class="grid"><QuickGrid Items="@itemsQueryable" Pagination="@pagination"><PropertyColumn Property="@(c => c.name)" Sortable="true" Class="brewery_name" /><PropertyColumn Property="@(c => c.city)" Sortable="true" Align="Align.Right" /><PropertyColumn Property="@(c => c.state)" Sortable="true" Align="Align.Right" ><ColumnOptions><div class="search-box"><input type="search" autofocus @bind="stateFilter" @bind:event="oninput" placeholder="State ..." /></div></ColumnOptions></PropertyColumn><PropertyColumn Property="@(c => c.brewery_type)" Sortable="true" Align="Align.Right" /> @*<ColumnOptions><div class="search-box"><input type="search" autofocus @bind="typeFilter" @bind:event="oninput" placeholder="Brewery Type ..." /></div></ColumnOptions>*@<PropertyColumn Property="@(c => c.website_url)" Sortable="true" Align="Align.Right" /></QuickGrid></div>Above is the code to display to the screen.
@code{ PaginationState pagination = new PaginationState { ItemsPerPage = 10 }; IQueryable<BreweryEntry>? itemsQueryable; string? stateFilter; string? typeFilter; IQueryable<BreweryEntry> FilteredBreweries { get { var result = itemsQueryable?.Where(c => c.state != null); if (!string.IsNullOrEmpty(stateFilter)) { result = result.Where(c => c.state.Contains(stateFilter, StringComparison.CurrentCultureIgnoreCase)); } //if (!string.IsNullOrEmpty(typeFilter)) //{ // result = result.Where(c => c.brewery_type.Contains(typeFilter, StringComparison.CurrentCultureIgnoreCase)); //} return result; } } protected override async Task OnInitializedAsync() { try { itemsQueryable = (await Http.GetFromJsonAsync<BreweryEntry[]>("https://api.openbrewerydb.org/breweries?per_page=50")).AsQueryable(); pagination.TotalItemCountChanged += (sender, eventArgs) => StateHasChanged(); } catch (Exception e) { Console.WriteLine(e.Message); throw e; } } private async Task GoToPageAsync(int pageIndex) { await pagination.SetCurrentPageIndexAsync(pageIndex); } private string? PageButtonClass(int pageIndex) => pagination.CurrentPageIndex == pageIndex ? "current" : null; private string? AriaCurrentValue(int pageIndex) => pagination.CurrentPageIndex == pageIndex ? "page" : null; public void NavTo() { NavigationManager.NavigateTo("/random"); } public class BreweryEntry { public string? name { get; set; } public string? city { get; set; } public string? state { get; set; } public string? brewery_type { get; set; } public string? website_url { get; set; } } }I've then copied the @code section above. The issue I'm having is that while the search box is appearing, my data is not being filtered at all. It should filter as the user is typing but even when I press search, my data doesn't filter. I can't seem to work out the issue and any help would be appreciated.