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();
}
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));
}