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>