or
public class MainViewModel{ public IList<SubViewModel> SubViewModels;} public class SubViewModel{ public Guid Id; public string Name; public IList<Guid> CategoryIds; public IList<CategoryType> CategoryTypes;} public class CategoryType { public Guid Id; public string Type;}var initialData = @Html.Raw(JsonConvert.SerializeObject(Model, new JavaScriptDateTimeConverter()));var mainViewModel = new MainViewModel(initialData);function MainViewModel(data) { var mapping = { 'SubViewModels': create: function(options) { return new SubViewModel(options.data); } } ko.mapping.fromJS(data, mapping , this);}function SubViewModel(
var self = this;
ko.mapping.fromJS(data, mapping , self); self.CategoryMultiSelect: function (container, options) { $('<input data-bind="value:' + options.field + '"/>') .appendTo(container) .kendoMultiSelect({ autoBind: false, dataTextField: "Type", dataValueField: "Id", dataSource: options.model.CategoryTypes }); }}
ko.applyBindings(mainViewModel, $("#MainViewModel")[0]);
<div id="subviewModelGrid" data-bind="kendoGrid: { data: $data.SubViewModels, sortable: true, scrollable: false,
editable: true, pageable: { pageSize: 10, input: false }, columns: [{ field: 'CategoryIds', title: 'Categories', width: '300px', editor: $data.CategoryMultiSelect }]}"/>Uncaught TypeError: Object f7ae02dc-c8a7-f112-e043-991018ace7d8 has no method 'get' kendo.web.min.js:12S.widget.value.m.extend.refresh kendo.web.min.js:12F.extend.bind kendo.web.min.js:11v.extend.applyBinding kendo.web.min.js:12v.extend.bind kendo.web.min.js:12o kendo.web.min.js:11o kendo.web.min.js:11o kendo.web.min.js:11s kendo.web.min.js:11d.extend.refresh kendo.web.min.js:22d.extend.init kendo.web.min.js:22(anonymous function) kendo.web.min.js:9p.extend.each jquery-1.8.2.min.js:2p.fn.p.each jquery-1.8.2.min.js:2e.fn.(anonymous function) kendo.web.min.js:9T.extend.editCell kendo.web.min.js:17r.incell.r.update.n.wrapper.on.on.n.timer kendo.web.min.js:17p.event.dispatch jquery-1.8.2.min.js:2g.handle.h<% var navAuthorization = Telerik.Web.Mvc.Infrastructure.ServiceLocator.Current.Resolve<Telerik.Web.Mvc.Infrastructure.INavigationItemAuthorization>(); %>@{ Layout = null;}@model IEnumerable<Nop.Plugin.Other.Rewards.Models.ReferralProgramModel>@(Html.Kendo().Grid((IEnumerable<Nop.Plugin.Other.Rewards.Models.ReferralProgramModel>)Model) .Name("kendoGrid") .Columns(columns => { //columns.Bound(p => p.Id).Width(0).Hidden(); columns.Bound(p => p.Name).Width(100).Title("Name"); //columns.Bound(p => p.ReferralDiscount).Width(20).Title("Friend Discount"); //columns.Bound(p => p.DiscountEventsPerReferral).Width(100).Title("Discounts per Referral"); columns.Bound(p => p.PointsAwardPerReferral).Width(100).Title("Points Reward on referral"); columns.Bound(p => p.MinimumPurchaseForAward).Width(100).Title("Min Purchase Amt"); //columns.Bound(p => p.RewardEventsPerReferredFriend).Width(100).Title("Discount Events"); //columns.Bound(p => p.CookieLifespan).Width(100).Title("Cookie Lifespan"); columns.Bound(p => p.InsertDateUtc).Format("{0:d}").Width(100).Title("Insert Date"); columns.Command(command => command.Edit()); columns.Command(command => command.Destroy()); }) .Editable(editable => editable.Mode(GridEditMode.PopUp)) //.TemplateName("ReferralEditForm") .Pageable(pager => pager.PageSizes(new[] { 5, 10, 20, 50 })) .Sortable() .Selectable() .Filterable() .DataSource(dataSource => dataSource .Ajax() .Model(model => { model.Id(p => p.Id); model.Field(p=>p.Id).Editable(false); }) .Read(read => read.Action("GetReferralPrograms", "Referrals")) .Update(update => update.Action("UpdateRefferalProgram", "Referrals")) .Destroy(destroy => destroy.Action("DeleteReferralProgram", "Referrals")) .Create(create => create.Action("CreateReferralProgram", "Referrals")) )<%: Html.Kendo().Chart<Data.DonneeChart>() .Name("chart") .Title("Multiple Series Chart") .DataSource(dataSource => dataSource .Read(read => read.Action("Charts_Data", "Home")).ServerOperation(false) ) .Series(series => { series.Line(model => model.Weight1) .Color("#ff1a1c") .Name("Weight1") .Axis("weight"); series.Line(model => model.Time1) .Color("#ff0e00") .Name("Time1") .Axis("time"); series.Line(model => model.Weight2) .Color("#73e100") .Name("Weight2") .Axis("weight"); series.Bar(model => model.Time2) .Color("#007aff") .Name("Time2") .Axis("time"); }) .CategoryAxis(axis => axis .Categories(model => model.Period) .AxisCrossingValue(0,9999,9999) .Justify(true) .Crosshair(crosshair => crosshair .Visible(true) .Tooltip(tooltip => tooltip .Visible(true) .Template("Category : #= value #") // Here i would like to show the value of Weight1,Time1,Weight2,Time2 instead of Period value !!! .Format("{0:n1}") )) ) .ValueAxis(axis => axis .Numeric("weight") .Min(0) .Title("(Kg)") .Max(8000) ) .ValueAxis(axis => axis .Numeric("weight") .Color("#ffae00") .Min(0) .Max(35) ) .ValueAxis(axis => axis .Numeric("weight") .Color("#007eff") .Min(0) .Max(1.1) ) .Tooltip(tooltip => tooltip .Visible(false) )%>