or
@(Html.Kendo().Grid<JobRequest>() .Name("Jobs") .Columns(columns => { columns.Bound(m => m.Job_Name) .Width(110); columns.ForeignKey(m => m.TimeFrame, (IEnumerable<TimeFrameType>)Model.timeFrames, "TimeDiff", "TimeDiffName") .Filterable(filter => filter .Extra(false) .Operators(operators => operators .ForNumber(str => str.Clear() .IsLessThan("Less Than") ) .ForString(str => str.Clear() .IsEqualTo("Less Than") )) ) .Width(110); columns.Bound(m => m.Started) .Width(75).Filterable(false). Format("{0:MM/dd hh:mm}"); columns.Bound(m => m.Run_Time) .Width(75) .Title("Run Time").Filterable(false); columns.Bound(m => m.Last_Update) .Width(75) .Format("{0:MM/dd hh:mm}").Filterable(false); columns.Bound(m => m.Job_Priority) .Width(40); columns.Bound(m => m.Job_ID) .ClientTemplate("<a href='javascript:showJobSetWindow(#=Job_ID#)'>#=Job_ID#</a>") .Width(90); columns.ForeignKey(m => m.Job_Class, (System.Collections.IEnumerable)ViewData["jobClass"], "Value", "Text") .Width(85); columns.Bound(m => m.WF_Name) .Width(200); columns.Bound(m => m.User_ID) .Width(75); columns.Bound(m => m.Division) .Width(75); columns.Bound(m => m.Cust_Ref) .Width(85); columns.ForeignKey(m => m.JobStatus, (System.Collections.IEnumerable)ViewData["jobStatus"], "Value", "Text") .Width(85); columns.ForeignKey(m => m.StepStatus, (System.Collections.IEnumerable)ViewData["stepStatus"], "Value", "Text") .Width(85); columns.Bound(m => m.Task_Name) .Filterable(false) .Width(270); columns.Bound(m => m.User_System) .Width(100); columns.ForeignKey(m => m.JobStatus, (System.Collections.IEnumerable)ViewData["jobStatus"], "Value", "Text") .Width(85) .Title("eReport"); }) .Events(events => events .FilterMenuInit("filterMenuInit").ColumnReorder("colReorder") ) .ClientRowTemplate( "<tr class='clr#:JobStatus#'>" + "<td>#: Job_Name #</td>" + "<td>#: TimeFrame #</td>" + "<td>#: kendo.toString(Started, 'MM/dd hh:mm') #</td>" + "<td>#: Run_Time #</td>" + "<td>#: kendo.toString(Last_Update, 'MM/dd hh:mm') #</td>" + "<td>#: Job_Priority #</td>" + "<td><a href='javascript:showJobSetWindow(#=Job_ID#)'>#=Job_ID#</a></td>" + "<td>#: Job_Class #</td>" + "<td>#: WF_Name #</td>" + "<td>#: User_ID #</td>" + "<td>#: Division #</td>" + "<td>#: Cust_Ref #</td>" + "<td># if(JobStatus == \"ERRORED\"){#<a href='javascript:showJobLogWindow(#=Job_ID#)'>#=JobStatus#</a></td>#}else{##=JobStatus##} #</td>" + "<td>#: StepStatus #</td>" + "<td>#: Task_Name #</td>" + "<td>#: User_System #</td>" + "<td># if(JobStatus==\"COMPLETED\"){#<a href='javascript:showeReportsWindow(#=Job_ID#)'>View</a></td>#}else{}#</td>"+ "</tr>" ) .Pageable() .Sortable() .Scrollable(a => a.Height("auto")) .Resizable(resize => resize.Columns(true)) .Reorderable(reorder => reorder.Columns(true)) .Filterable(filterable => filterable .Enabled(true) .Extra(true) .Messages(m => m.IsTrue("Yes")) .Messages(m => m.IsFalse("No")) .Operators(operators => operators .ForString(str => str .Clear() .Contains("Contains") .DoesNotContain("Not Contains") .StartsWith("Starts with") .EndsWith("Ends with") ) ) ) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(true) .PageSize(20) .Events(e => e.RequestEnd("onReqEnd")) .Read(read => read.Action("ReadData", "Home") .Data("ReadData")) ))function reorderCheck() { var grid = $("#Jobs").data("kendoGrid"); var cols = grid.columns; //var cs = JSON.parse($.cookie("colState")); var cs; var userSetting = '@Model.UserSetting'.replace('columns=', '').replace(/"/g, '"'); if (userSetting != "") cs= JSON.parse(userSetting); var curColumns=grid.columns; if (cs) { if (cs.length > 0) { for (var i = 0; i < cs.length; i++) { var curColState = cs[i]; $.map(grid.columns, function (elementOfArray, indexInArray) { if (elementOfArray.field == curColState.field) { grid.reorderColumn(i, grid.columns[indexInArray]); } }); } } } }

$scope.paymentToolbarOptions = { items: [{ type: "button", id: "manualIr", text: "Manual IR", overflow: "always" }...], click: function (e) { if (e.id === "manualIr") { $scope.$apply(function() { $scope.payManualIr(); }); } }};01.<!DOCTYPE html>02.<html>03.<head>04. <meta charset="utf-8">05. <title>Kendo UI Snippet</title>06. 07. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.common.min.css">08. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.rtl.min.css">09. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.default.min.css">10. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.dataviz.min.css">11. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.dataviz.default.min.css">12. <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.2.716/styles/kendo.mobile.all.min.css">13. 14. <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>15. <script src="http://cdn.kendostatic.com/2014.2.716/js/kendo.all.min.js"></script>16.</head>17.<body>18. 19.<div id="grid"></div>20.<script>21.$("#grid").kendoGrid({22. columns: [23. { field: "name"},24. { field: "typ", footerTemplate: "Employees Total: #=count#"}, //Works fine25. //{ field: "typ", footerTemplate: "Employees Total: #=count#", groupFooterTemplate: "Count: #=count#"}, //Doesn't work :-(26. { field: "gender" },27. { field: "age" } 28. 29. ],30. dataSource: {31. data: [32. { name: "Jane Doe", age: 30, typ: "customer", gender: "female"},33. { name: "John Doe", age: 32, typ: "customer", gender: "male" },34. { name: "Jodi Doe", age: 30, typ: "customer", gender: "female" },35. { name: "Jim Doe", age: 32, typ: "customer", gender: "male" },36. 37. 38. { name: "jens", age: 34, typ: "employee", gender: "male" },39. { name: "Anna", age: 36, typ: "employee", gender: "female" },40. { name: "Karl", age: 34, typ: "employee", gender: "male" },41. { name: "Gustav", age: 36, typ: "employee", gender: "female" }42. ],43. 44. group: [{field: "typ", aggregate:"count"},{field: "gender", aggregate:"count"}],45. 46. aggregate: { field: "typ", aggregate: "count" }47. 48. }49.});50.</script>51.</body>52.</html>