<SfComboBox @ref="comboboxCustomer" ID="CustomerID" TValue="string" TItem="FDICustomer" Placeholder="e.g. Account Num" CssClass="e-multi-column" @bind-Value="@CustAccount" DataSource="@Customers" AllowFiltering="true" Query="@customerQuery" PopupWidth="700px" PopupHeight="500">
<ComboBoxFieldSettings Text="Name" Value="Name"></ComboBoxFieldSettings>
<ComboBoxTemplates TItem="FDICustomer">
<HeaderTemplate>
<table><tr><th class="e-text-center">Account Number</th><th class="e-text-center">Name</th></tr></table>
</HeaderTemplate>
<ItemTemplate Context="context">
<table><tbody><tr><td class="e-text-center">@((context as FDICustomer).Job)</td><td class="e-text-center">@((context as FDICustomer).Name)</td></tr> </tbody></table>
</ItemTemplate>
</ComboBoxTemplates>
<ComboBoxEvents TValue="string" TItem="FDICustomer" Filtering="onFilteringCustAccount" ValueChange="onCustValueChange"></ComboBoxEvents>
</SfComboBox>
public async Task onFilteringCustAccount(Syncfusion.Blazor.DropDowns.FilteringEventArgs args)
{
args.PreventDefaultAction = true;
var pre = new WhereFilter();
var predicate = new List<WhereFilter>
();
predicate.Add(new WhereFilter() { Condition = "or", Field = "Job", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
predicate.Add(new WhereFilter() { Condition = "or", Field = "Name", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
//predicate.Add(new WhereFilter() { Condition = "or", Field = "Job", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
pre = WhereFilter.Or(predicate);
// Customers = AllCustomers;
var query = new Query();
query = args.Text == "" ? new Query().Take(100) : new Query().Where(pre).Take(100);
await this.comboboxCustomer.Filter(Customers, query);
} |
<SfComboBox @ref="comboboxCustomer" ID="CustomerID" TValue="string" TItem="FDICustomer" Placeholder="e.g. Account Num" CssClass="e-multi-column" @bind-Value="@CustAccount" DataSource="@Customers" AllowFiltering="true" Query="@customerQuery" PopupWidth="700px" PopupHeight="200" EnableVirtualization="true">
<ComboBoxFieldSettings Text="Name" Value="Name"></ComboBoxFieldSettings>
<ComboBoxTemplates TItem="FDICustomer">
<HeaderTemplate>
<table><tr><th class="e-text-center">Account Number</th><th class="e-text-center">Name</th></tr></table>
</HeaderTemplate>
<ItemTemplate Context="context">
<table><tbody><tr><td class="e-text-center">@((context as FDICustomer).Job)</td><td class="e-text-center">@((context as FDICustomer).Name)</td></tr> </tbody></table>
</ItemTemplate>
</ComboBoxTemplates>
<ComboBoxEvents TValue="string" TItem="FDICustomer" Filtering="onFilteringCustAccount" ValueChange="onCustValueChange"></ComboBoxEvents>
</SfComboBox>
public Query customerQuery { get; set; } = new Query().Take(7);
public async Task onFilteringCustAccount(Syncfusion.Blazor.DropDowns.FilteringEventArgs args)
{
args.PreventDefaultAction = true;
var pre = new WhereFilter();
var predicate = new List<WhereFilter>
();
predicate.Add(new WhereFilter() { Condition = "or", Field = "Job", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
predicate.Add(new WhereFilter() { Condition = "or", Field = "Name", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
//predicate.Add(new WhereFilter() { Condition = "or", Field = "Job", value = args.Text, Operator = "contains", IgnoreAccent = true, IgnoreCase = true });
pre = WhereFilter.Or(predicate);
// Customers = AllCustomers;
var query = new Query();
query = args.Text == "" ? new Query().Take(5) : new Query().Where(pre).Take(5);
await this.comboboxCustomer.Filter(Customers, query);
} |
for(var i = 0; i < 500000; i++)
{
Games.Add(new GameFields() { ID = i, Text = "FootBall" });
} |