D'actualisation après la mise à jour de Telerik Kendo Grille (MVC)

J'ai un Kendo Grille avec certains environnements de données. L'un des champs de la grille est "isDefault" qui recevoir 1 ou 0 (vrai ou faux). Dans la base de données j'ai un déclencheur que lorsqu'un enregistrement est réglé sur isDefault = 1 un autre enregistrement est mise à jour à isDefault = 0, juste pour s'assurer qu'il n'y est qu'un environnement par défaut.

Le Kendo grille fonctionne bien, il lie les données et met à jour les enregistrements de très bien, mais après la mise à jour, la grille n'est pas l'actualisation de tous les dossiers et s'il y avait, disons, de 1 enregistrement avec isDefault =1 et I mettre à jour l'enregistrement de 4 à isDefault = 1, le trigger est déclenché et les mises à jour de tous les autres dossiers de isDefault = 0 mais la grille affiche toujours 1 enregistrement avec isDefault = 1 et maintenant enregistrer 4 avec isDefault = 1

C'est le code de mon point de vue:

Html.Kendo().Grid<Models.Environment>()
                   .Name("environmentGrid")
                   .Sortable()
                   .ToolBar(tb =>  tb.Create())
                   .Editable(editable => editable.Mode(GridEditMode.PopUp))
                   .Columns(cols =>
                   {
                       cols.Bound(c => c.Name).Width(150).Sortable(true);
                       cols.Bound(c => c.ConnectionString).Width(150).Sortable(true);
                       cols.Bound(c => c.Template).Width(150).Sortable(true);
                       cols.Bound(c => c.isDefault).Width(150).Sortable(true);
                       cols.Bound(c => c.StatusID).Width(150).Sortable(true);
                       cols.Command(command => { command.Edit();}).Width(60);
                   })
                   .DataSource(ds => ds
                       .Ajax()
                       .Model(model => 
                       { 
                           model.Id(m => m.EnvironmentID);
                       })
                       .Read(r => r.Action("GetEnvironments", "Admin"))
                       .Update(update => update.Action("UpdateEnvironments", "Admin"))
                       .Create(update => update.Action("UpdateEnvironments", "Admin"))                           
                   )

et c'est le code sur mon contrôleur:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult UpdateEnvironments([DataSourceRequest] DataSourceRequest dsRequest, Environment environment)
    {
        environment.ModifiedBy = userName;

        if (environment != null && ModelState.IsValid)
        {
            if (environment.EnvironmentID != 0)
            {
                var toUpdate = xgr.EnviromentRepository.ListAll().FirstOrDefault(p => p.EnvironmentID == environment.EnvironmentID);
                TryUpdateModel(toUpdate);
            }
            xgr.EnviromentRepository.Save(environment);
        }
        return Json(ModelState.ToDataSourceResult());
    }

Je vous remercie d'avance pour vos réponses.

OriginalL'auteur Yatiac | 2014-06-10