or


<% var culture = System.Threading.Thread.CurrentThread.CurrentCulture.ToString(); %><script src="<%= this.ResolveUrl("~/Scripts/kendo/2014.2.903/cultures/kendo.culture." + culture + ".min.js") %>" type="text/javascript"></script><script type="text/javascript"> kendo.culture("<%= culture %>");</script>@(Html.Kendo().Grid<PoLineItemModel>().Name("grdPoLines") .DataSource(dataSource => dataSource .Ajax() .Model(model => model.Id(m => m.Id)) .Batch(true) .ServerOperation(false) .PageSize(20) .Events(events => { events.RequestEnd("onRequestEnd"); events.Change("onRequestEnd"); }) .Create(create => create.Action("Ajax_CreatePoLines","PoHeaders", new { poid = Model.Id})) .Read(read => read.Action("Ajax_ReadPoLines", "PoHeaders", new { poid = Model.Id })) .Update(update => update.Action("Ajax_UpdatePoLines", "PoHeaders", new { poid = Model.Id })) ) .Columns(columns => { columns.Bound(m => m.PoHeaderId).Visible(false); columns.Bound(m => m.Id); columns.Bound(m => m.PartId); columns.Bound(m => m.Quantity); columns.Bound(m => m.UnitPrice); }) .ToolBar(toolbar => { toolbar.Save(); toolbar.Create(); }) .Navigatable() .Sortable() .Filterable() .Groupable() .Editable(edit => edit.Mode(GridEditMode.InCell)))
public ActionResult Ajax_CreatePoLines([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<PoLineItemModel> poItems){ var poid = Int32.Parse(Request.QueryString["poid"]); var ldb = new ShopTrackEntities(); foreach (var newitem in poItems) { var newline = new PoLine { PoHeaderId = poid, PartId = newitem.PartId, Quantity = newitem.Quantity, UnitPrice = newitem.UnitPrice }; ldb.PoLines.Add(newline); } ldb.SaveChanges(); var allitems = GetPoLineItems(poid); var lines = new List<PoLineItemModel>(); foreach (var item in allitems) { var additem = new PoLineItemModel { Id = item.Id, PoHeaderId = item.PoHeaderId, PartId = (int)item.PartId, Quantity = (int)item.Quantity, UnitPrice = (decimal)item.UnitPrice }; lines.Add(additem); } return Json(lines.ToDataSourceResult(request,ModelState));}