@using Syncfusion.Blazor.DropDowns;
<SfAutoComplete TValue="string" TItem="GameFields" Placeholder="e.g. Basketball" @bind-Value="value" DataSource="@Games" AllowCustom="true">
<AutoCompleteFieldSettings Value="Text"></AutoCompleteFieldSettings>
</SfAutoComplete>
@code {
public string value { get; set; } = "Amer";
public class GameFields
{
public string ID { get; set; }
public string Text { get; set; }
}
public List<GameFields> Games = new List<GameFields>()
{
new GameFields(){ ID= "Game1", Text= "American Football" },
new GameFields(){ ID= "Game2", Text= "Badminton" },
new GameFields(){ ID= "Game3", Text= "Basketball" },
new GameFields(){ ID= "Game4", Text= "Cricket" },
new GameFields(){ ID= "Game5", Text= "Football" },
new GameFields(){ ID= "Game6", Text= "Golf" },
new GameFields(){ ID= "Game7", Text= "Hockey" },
new GameFields(){ ID= "Game8", Text= "Rugby"},
new GameFields(){ ID= "Game9", Text= "Snooker" },
new GameFields(){ ID= "Game10",Text= "Tennis"},
};
}
|
public List<AssetTagsViewModel> AssetTagsFilterModel = new List<AssetTagsViewModel>() { };
protected override void OnInitialized()
{
AssetTagsFilterModel.AddRange(ownservice.GetData(text));
}
} |
public List<AssetTagsViewModel> GetData(String searchtext)
{
List<AssetTagsViewModel> Country = new List<AssetTagsViewModel>
{
new AssetTagsViewModel() { Tag = "Australia", ID = "AU" },
new AssetTagsViewModel() { Tag = "Bermuda", ID = "BM" },
new AssetTagsViewModel() { Tag = "Canada", ID = "CA" },
new AssetTagsViewModel() { Tag = "Cameroon", ID = "CM" },
new AssetTagsViewModel() { Tag = "Denmark", ID = "DK" },
new AssetTagsViewModel() { Tag = "France", ID = "FR" },
new AssetTagsViewModel() { Tag = "Finland", ID = "FI" }
};
return Country;
} |
<div class="page-inner" id="pageinner">
<p>Datasource Values</p>
<div class="row">
<div class="col-12 mt-3 pt-3">
<div class="inner-body mg-main">
<SfAutoComplete @ref="@AutoCompleteObj" TValue="string" TItem="AssetTagsViewModel" AllowFiltering="true" DataSource="@AssetTagsFilterModel">
<AutoCompleteFieldSettings Value="Tag"></AutoCompleteFieldSettings>
<AutoCompleteEvents TItem="AssetTagsViewModel" TValue="String" Filtering="@OnFiltering"></AutoCompleteEvents>
</SfAutoComplete>
</div>
</div>
</div>
</div>
@code {
SfAutoComplete<string, AssetTagsViewModel> AutoCompleteObj;
public List<AssetTagsViewModel> AssetTagsFilterModel = new List<AssetTagsViewModel>() { };
private async Task OnFiltering(FilteringEventArgs args)
{
// Passing the typed value to the function
var filteredvalue = ownservice.GetData(args.Text);
var query = new Syncfusion.Blazor.Data.Query().Select(new List<string> { "Tag" }).Where("Tag", "startswith", args.Text, true);
// Filter the suggestion list based on the typed value.
AutoCompleteObj.Filter(filteredvalue, query);
}
} |
public class CountryService
{
public List<AssetTagsViewModel> GetData(string value)
{
List<AssetTagsViewModel> Country = new List<AssetTagsViewModel>
{
new AssetTagsViewModel() { Tag = "Australia", ID = "AU" },
new AssetTagsViewModel() { Tag = "Bermuda", ID = "BM" },
new AssetTagsViewModel() { Tag = "Canada", ID = "CA" },
new AssetTagsViewModel() { Tag = "Cameroon", ID = "CM" },
new AssetTagsViewModel() { Tag = "Denmark", ID = "DK" },
new AssetTagsViewModel() { Tag = "France", ID = "FR" },
new AssetTagsViewModel() { Tag = "Finland", ID = "FI" }
};
if (value.Length > 0)
{
return Country.Where(a => a.Tag.ToString().ToLower().StartsWith(value)).ToList();
}
else
{
return Country;
}
}
} |