Kendo Sort not working <p>i have implemented a kendo grid as shown below , paging works without any issues but sort not work. Could you please help</p> <p>CSHTML</p> <pre><code>&lt;div class="panel"&gt; &lt;div id="CsHistory" class="row"&gt; &lt;div class="col-lg-12 col-md-12 col-sm-12" style="float:none; margin-left:auto; margin-right:auto; margin-top: 10px; margin-bottom: 10px;"&gt; @using PC.Cmgr.Claims.Domain.Models; @using PC.Cmgr.Claims.Domain.Common; @using PC.Cmgr.Models; @using System.Linq; @(Html.Kendo().Grid&lt;CsAuditTrailViewModel&gt; () .HtmlAttributes(new { style = "width:auto; height:auto; text-center;margin-right: 30px;margin-left: 30px; " }) .Name("AllCsHistory") .Columns(columns =&gt; { columns.Bound(o =&gt; o.CsAuditTrailId).Title("CsAuditTrailId"); }) .ToolBar(toolBar =&gt; { }) .Resizable(resize =&gt; resize.Columns(false)) .Reorderable(reorder =&gt; reorder.Columns(true)) .Sortable() .Pageable(pageable =&gt; pageable .Refresh(true) .PageSizes(true) .ButtonCount(5)) .DataSource(dataSource =&gt; dataSource .Ajax() .Batch(true) .ServerOperation(true) .Model(model =&gt; { model.Id(o =&gt; o.CsAuditTrailId); }) .Read(read =&gt; read.Action("GetCHistoryByClaimId", "Claims", new { ClaimId = Model.Claim.ClaimId })) .Events(events =&gt; { events.Sync("sync_handler"); } ) ) ) &lt;/div&gt; &lt;/div&gt; </code></pre> <p></p> <p>Controller</p> <pre><code> public async Task&lt;ActionResult&gt; GetCsHistoryByClaimId([DataSourceRequest] DataSourceRequest request, Guid ClaimId) { var CsHistory = await _CsHistoryProxy.GetCsHistoryByClaimId(ClaimId); var rawData = new ConcurrentBag&lt;CsAuditTrailViewModel&gt;(); var gridData = new List&lt;CsAuditTrailViewModel&gt;(); Parallel.ForEach(CsHistory, (x) =&gt; { rawData.Add( new CsAuditTrailViewModel { CsAuditTrailId = x.CsAuditTrailId, NewData = x.NewData, OldData = x.OldData, UpdateDate = x.UpdateDate, UserId = x.UserId }); }); ViewData["total"] = rawData.Count(); // Apply paging if (request.Page &gt; 0) { gridData = rawData.Skip((request.Page - 1) * request.PageSize).ToList(); } gridData = gridData.Take(request.PageSize).ToList(); var result = new DataSourceResult() { Data = gridData, Total = (int)ViewData["total"] }; return Json(result); } </code></pre>