@page "/"
@using Syncfusion.Blazor.DropDowns
<CustomGrid @ref="grid" TValue="Order" AllowFiltering="true">
<SfDataManager AdaptorInstance="typeof(OrderDataAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
<GridColumns>
<GridColumn Field=@nameof(Order.CustomerID) IsPrimaryKey="true" IsIdentity="true">
<FilterTemplate>
<SfDropDownList ID="filterCustomer" TValue="string" TItem="Customer" Placeholder="Select a role" ShowClearButton="true">
<SfDataManager AdaptorInstance="typeof(CustomerIdAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
<DropDownListFieldSettings Text="@nameof(Customer.Name)" Value="@nameof(Customer.Id)" />
<DropDownListEvents TItem="Customer" TValue="string" ValueChange="@ValueChangeHandler" />
</SfDropDownList>
</FilterTemplate>
</GridColumn>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="OrderID" Width="150"></GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Width="150"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText="OrderDate" Width="150">
</GridColumn>
</GridColumns>
</CustomGrid>
@code {
CustomGrid<Order>? grid;
// Exception here when Selected CustomerId IN Filter
private async void ValueChangeHandler(ChangeEventArgs<string, Customer> obj)
{
//Error
await grid.FilterByColumnAsync("CustomerID", "equal", obj.Value, "CustomerID");
}
}
Attachment:
SfCustomGrid_bd715124.zip