or
@(Html.Kendo().Grid(Model) .Name("Grid").Sortable().Selectable().Scrollable().Filterable().Groupable() .Resizable(c => c.Columns(true)) .Columns(columns => { columns.AutoGenerate(true); columns.Command(c => c.Edit()); }) .Pageable(pager => pager .PageSizes(new int[] { 15, 30, 50, 100 }) ) .ToolBar(commands => { commands.Create(); commands.Custom() .Text("Clear Filters") .Action("Index", "Jobs"); }) .DataSource(dataSource => dataSource .Ajax() .Model(m => m.Id(v => v.JOB_TITLE_ID)) .PageSize(15) .Read(read => read.Url("localhost:8082/TrainingService.svc/ReadJOB_TITLEs")) .Update(update => update.Action("Edit", "Jobs")) .Create(create => create.Action("Create", "Jobs")) ) )function onNodeDragging(e) { if (!isDropAllowed(e)) e.setStatusClass('t-denied');}function isDropAllowed(e){ var $dropTarget = $(e.dropTarget); var hoveredItem = $dropTarget.closest('.t-top,.t-mid,.t-bot'); if (hoveredItem.length > 0) { var itemHeight = hoveredItem.outerHeight(); var itemTop = hoveredItem.offset().top; var itemContent = $dropTarget.closest('.t-in'); var delta = itemHeight / (itemContent.length > 0 ? 4 : 2); var insertOnTop = e.pageY < (itemTop + delta); var insertOnBottom = (itemTop + itemHeight - delta) < e.pageY; var addChild = itemContent.length > 0 && !insertOnTop && !insertOnBottom; if (addChild) return $dropTarget.parents('.t-item').length == itemLevel; else return $dropTarget.parents('.t-item').length == itemLevel + 1; } return false;}e.setStatusClass("k-denied");