or
$(function () { $("#DOB").kendoDatePicker({ "format": "d", "min": new Date(1900, 0, 1, 0, 0, 0, 0), "max": new Date(2099, 11, 31, 0, 0, 0, 0) }); });.Events(events => events.Sync("onSync")).Events(events => events.Error("onDataSourceError"))@model object@(Html.Kendo().DropDownList() .HtmlAttributes(new { style = "width: 450px;" }) .Name("ContactID") .DataTextField("Text") .DataValueField("Value") .Filter(FilterType.Contains) .OptionLabel("-please select-") .ValuePrimitive(true) .AutoBind(false) .DataSource(source => { source.Read(read => { read.Action("MultiSearchProductors", "Productors", new { area = "Comercial" }).Data("filterSearchProductor"); }) .ServerFiltering(true); }) )public async Task<JsonResult> MultiSearchProductors(string text) { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var productors = ens.Contacts.OfType<Productor>().Where(p => user.AuthorizedCenters.Contains(p.CentreID.ToString()) && p.Baixa == null).Select(p => new { Value = p.ContactID, Text = p.Nom + " " + p.Addresses.FirstOrDefault(a => a.TypeID == (short)addressType.General).Poblacio.Denominacio + " - " + p.ContactID }); if (!String.IsNullOrWhiteSpace(text)) { productors = productors.Where(p => p.Text.Contains(text)); } return Json(productors, JsonRequestBehavior.AllowGet); }function filterSearchProductor() { return { text: $("#ContactID").data("kendoDropDownList").filterInput.val() //allCenters: true }; }@(Html.Kendo().Grid<PartnerViewModel>() .Name("partner_"+contactID) .ToolBar(t => { if (User.IsInRole("Modify")) { t.Create().Text("Nou Partner"); } }) .Columns(columns => { columns.Bound(f => f.ContactID).Title("Codi").Width(60);public class PartnerViewModel { [DisplayName("Productor")] [UIHint("ProductorMultiSearch")] public int ContactID { get; set; }[Display(Name = "In Service Date")][DataType(DataType.Date)][Required]public DateTime InServiceDate { get; set; }columns.Bound(p => p.InServiceDate).Format("{0:MM/dd/yyyy}").Title("Date").Width(100);model.Field(p => p.InServiceDate).DefaultValue(Model.DefaultInServiceDate);function filterTaxClassBookMethods() { var row = $("#TaxClassBookMethod").closest("tr"); var grid = $("#TaxClassBookMethod").closest("[data-role=grid]").data("kendoGrid"); var dataItem = grid.dataItem(row); var inServiceDate = dataItem.InServiceDate; return { depreciationBookID: 1002, assetClassID: dataItem.AssetTransactionCode.AssetClassID, inServiceDate: inServiceDate }; }@(Html.Kendo().Grid<RateDayViewModel>() .Name("dayGrid") .Columns(columns => { columns.Bound(o => o.Date).Format("{0:d}"); }) .ClientDetailTemplateId("channelTemplate") .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .Model(model => { model.Id(p => p.DayID); }) .PageSize(10) .Read(read => read.Action("ReadSummary", "Rate")) ) .Pageable() )<script id="channelTemplate" type="text/kendo-tmpl"> @(Html.Kendo().Grid<RateChannelViewModel>() .Name("day_#=DayID#") .Columns(columns => { columns.Bound(o => o.Channel.Label).Title("Channel"); }) .ClientDetailTemplateId("roomTemplate") .DataSource(dataSource => dataSource .Ajax() .Model(model => { model.Id(p => p.ChannelID); }) .Read(read => read.Action("ReadChannels", "Rate", new { Day = "#=DayID#" })) ) .ToClientTemplate() )</script><script id="roomTemplate" type="text/kendo-tmpl"> @(Html.Kendo().Grid<RateRoomViewModel>() .Name("room_#=DayID##=ChannelID#") .Columns(columns => { columns.Bound(o => o.Room.Label).Title("Room"); }) .DataSource(dataSource => dataSource .Ajax() .Model(model => { model.Id(p => p.RoomID); }) .Read(read => read.Action("ReadRooms", "Rate", new { Day = "#=DayID#", Channel = "#=ChannelID#"})) ) .ToClientTemplate() )</script>
function sendData() { var grid = $("#Grid").data("kendoGrid"), parameterMap = grid.dataSource.transport.parameterMap; var data = parameterMap({ sort: grid.dataSource.sort(), filter: grid.dataSource.filter(), group: grid.dataSource.group() }); $.ajax({ url: "/Home/UpdateCreateDelete", data: data, type: "POST",// note grid.autobind() set to false, so we can load upon dom ready below:$(function() { @{ var request = TempData["request"] as DataSourceRequest; } var grid = $("#mygrid").data("kendoGrid");
​ grid.dataSource.query({ page: @request.Page, // WORKS PERFECTLY!
pagesize: @request.PageSize, // WORKS PERFECTLY!
filter: null, // FAILS IF I use filter: @request.Filter sort: null, // FAILS IF I use sort: @request.Sort group: null, // FAILS IF I use group: @request.Group });}