or

<label for="contactFilter">Filter by contact name:</label><input id="contactFilter" type="search" value="" />$(document).ready(function () { $("#contactFilter").kendoComboBox({ placeholder: "contact name", dataTextField: "Name", dataValueField: "Id", filter: "contains", autoBind: false, minLength: 3, dataSource: { type: "json", serverFiltering: true, transport: { read: { url: siteRoot + "Groupings/ContactsTypeahead" } } } }); });Public Function ContactsTypeahead(filterString As String) As JsonResult Dim contacts As Attenda.Cmdb.ServerGroups.Core.SupportworksService.Contacts = _supportworks.SearchContacts(filterString) Dim retVal = contacts.Select(Function(x) New With {.Id = x.ContactID, .Name = x.FirstName & " " & x.Surname}).ToList() Return Json(retVal, JsonRequestBehavior.AllowGet)End Functionvar vm = kendo.observable({ getAgentOnlyFound: function(){....},});var dataSourceOnlyFound = new kendo.data.DataSource({
transport: {
read: function(options) {
options.success(vm.getAgentOnlyFound());
},
},
schema: {
parse: function (data) {
$.each(data, function (i, val) {
val.EffectiveDate = kendo.toString(new Date(parseInt(val.EffectiveDate.substr(6))), "MMM/dd/yyyy");
});
return data;
},
model: {
id: "Id"
}
}
});
$("#agent-list-grid").data("kendoGrid").setDataSource(dataSourceOnlyFound);
<div id="agent-list-grid" data-role="grid" data-editable="false" data-columns="[ { 'field': 'FullName', title: 'Agent Name', 'width': 270 }, { 'field': 'Country.Name', title: 'Country' }, { 'field': 'EffectiveDate', title: 'Effective Date' }]" data-bind="visible: isListView">