2013-05-09 17 views
15

剣道UIグリッドをリフレッシュしようとしていますが、まだ成功していません。誰かが私が逃したものや何が間違っているのかアドバイスしてもらえますか?剣道UIグリッドをリフレッシュする方法

私は、次のコードを持っている:

.cshtml:

$('#btnRefresh').click(function (e){ 

      $.ajax({ 
       type: 'POST', 
       url: "@(Url.Content("~/Administration/RefreshAll/"))", 

       success: function() { 
        $("#Product").data("kendoGrid").dataSource.read(); 
        $('#Product').data('kendoGrid').refresh(); 
        //grid.refresh(); 
        location.reload(true); 
       }, 
       error: function(){ 
        $("#btnRefresh").removeAttr('disabled'); 
       } 
      }); 


     }); 

はコントローラー:

public ActionResult RefreshAll([DataSourceRequest] DataSourceRequest request) 
     { 
      db.ProcessAll(); 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      return View(); 
     } 

答えて

35

あなたスクリプト

べきですお使いのコントローラ 参照の追加で
$('#btnRefresh').click(function (e){ 
     var grid = $("#Product").data("kendoGrid"); 
       grid.dataSource.page(1); 
       grid.dataSource.read(); 
     }); 

    using Kendo.Mvc.Extensions;

  • using Kendo.Mvc.UI;
  • あなたのActionResultはする必要があります

    public ActionResult RefreshAll([DataSourceRequest] DataSourceRequest request) 
         { 
          //assuming db.ProcessAll() will return a list object 
          return Json(db.ProcessAll().ToDataSourceResult(request)); 
         } 
    
  • +0

    public void ProcessAll()したがってJSONとして返すことができません – Spidey

    +0

    モデルにリストオブジェクトを渡す必要があります。 – HaBo

    +0

    ありがとう私はそれを試してみます – Spidey

    関連する問題