<ejs-autocomplete id="country" datasource="@ViewBag.data" filtering="onFiltering" placeholder="Select a Country" popupheight="220px"> <e-autocomplete-fields Value="Id" Text ="Country" ></e-autocomplete-fields> </ejs-autocomplete> <script> function onFiltering(e) { //debugger; var predicate = new ej.data.Predicate('Country', 'contains', e.text, true); predicate = predicate.or('Id', 'contains', e.text, true) predicate = predicate.or('Name', 'contains', e.text, true); var query = new ej.data.Query(); query = (e.text !== '') ? query.where(predicate) : query; e.updateData(@Html.Raw(JsonConvert.SerializeObject(ViewBag.data)), query); } </script> |
| public IActionResult Index() { ViewBag.data = new DataModels().Tasks(); return View(); } public class DataModels { public string Country { get; set; } public string Id { get; set; } public string Name { get; set; } public List<DataModels> Tasks() { List<DataModels> TaskDetails = new List<DataModels>(); TaskDetails.Add(new DataModels { Country = "Australia", Id = "AU", Name = "Andrew"}); TaskDetails.Add(new DataModels { Country = "Bermuda", Id = "SM", Name = "Fuller" }); TaskDetails.Add(new DataModels { Country = "Canada", Id = "CA", Name = "Janet" }); TaskDetails.Add(new DataModels { Country = "Denmark", Id = "DK", Name = "John" }); TaskDetails.Add(new DataModels { Country = "Cameroon", Id = "CM" , Name = "Leverling" }); return TaskDetails; } } |
Thank you so much for your time
It worked as intended, tank you!
Diogo Lima