|
@using Syncfusion.Blazor.Data
@using
Syncfusion.Blazor.DropDowns
<SfDropDownList
@ref=ddlObj TValue="string"
AllowFiltering="true" TItem="OrderDetails" Placeholder="Select a customer"
Query="@Query">
<SfDataManager
Url="https://services.odata.org/V4/Northwind/Northwind.svc/Orders" Adaptor="Syncfusion.Blazor.Adaptors.ODataV4Adaptor" CrossDomain=true></SfDataManager>
<DropDownListFieldSettings Text="CustomerID"
Value="OrderID"></DropDownListFieldSettings>
<DropDownListEvents
TValue="string"
TItem="OrderDetails" Filtering="CustomFiltering"></DropDownListEvents>
</SfDropDownList>
@code {
SfDropDownList<string, OrderDetails> ddlObj { get; set; }
async Task CustomFiltering(FilteringEventArgs args)
{
args.PreventDefaultAction = true;
var query = new Query().Where(new WhereFilter() { Field = "CustomerID", Operator = "contains", value = args.Text, IgnoreCase = true });
query = !string.IsNullOrEmpty(args.Text) ?
query : new Query();
await ddlObj.FilterAsync(this.ddlObj.DataSource, query);
}
public Query Query = new Query().Select(new List<string> { "CustomerID", "OrderID" }).Take(6).RequiresCount();
public class OrderDetails
{
public int? OrderID { get; set; }
public string CustomerID { get; set; }
public int? EmployeeID { get; set; }
public double? Freight { get; set; }
public string ShipCity { get; set; }
public bool Verified { get; set; }
public DateTime? OrderDate { get; set; }
public string ShipName { get; set; }
public string ShipCountry { get; set; }
public DateTime? ShippedDate { get; set; }
public string ShipAddress { get; set; }
}
}
|