0
function showCopy() {
  var arr = [];
  var data = $("#PlanDetailGrid").data("kendoGrid").dataSource.data();
  for (var i >
      = 0; i < data.length; i++) {
    if (arr.indexOf(data[i].SessionName) === -1) {
      arr.push(data[i].SessionName);
    }
  }
David Shorthose
  • 4,489
  • 2
  • 13
  • 12

1 Answers1

0

You can use this syntax

$('#PlanDetailGrid').data('kendoGrid').dataSource.data(result);//result is the data in json format 

From the controller you can return the result as Json and bind it direclty using an ajax like

$.ajax({
    type: "post",
    datatype: "json",
    contenttype: "application/json",
    url: "/Controller/getResult",
    success: function (result) {
      if (result.Data.length > 0) {                    
         $('#PlanDetailGrid').data('kendoGrid').dataSource.data(result.Data);
      }
      else {
          $("#PlanDetailGrid").data("kendoGrid").dataSource.data([]);
       }
    }
});

in Controller

 public ActionResult getResult([DataSourceRequest]DataSourceRequest request)
    {
      //get the result list
      DataSourceResult result = lst.ToDataSourceResult(request);//lst is your resultant list
      var jsonResult = Json(result, JsonRequestBehavior.AllowGet);
      return jsonResult;

    }
Nijin P J
  • 1,302
  • 1
  • 9
  • 15