web-dev-qa-db-fra.com

Comment rafraîchir la grille de l'interface utilisateur de Kendo

J'essaie de rafraîchir une grille d'interface utilisateur Kendo, mais je n'ai pas encore réussi. Quelqu'un pourrait-il me dire ce que j'ai raté ou ce que j'ai fait de mal?

J'ai le code suivant:

. 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');
                }
            });


      });

Contrôleur:

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

votre script devrait être

$('#btnRefresh').click(function (e){
        var grid = $("#Product").data("kendoGrid");
               grid.dataSource.page(1);
               grid.dataSource.read();
      });

dans votre contrôleur ajouter des références à

  • using Kendo.Mvc.UI;
  • using Kendo.Mvc.Extensions;

votre ActionResult devrait être

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